time="2025-04-02T18:56:58Z" level=warning msg="/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/integration-test/docker-compose.yaml: the attribute `version` is obsolete, it will be ignored, please remove it to avoid potential confusion" Container integration-test-authentication-1 Creating Container integration-test-authorization-1 Creating Container integration-test-device-1 Creating Container integration-test-experiment-1 Creating Container integration-test-federation-1 Creating Container integration-test-gateway-1 Creating Container integration-test-federation-1 Created Container integration-test-experiment-1 Created Container integration-test-gateway-1 Created Container integration-test-authorization-1 Created Container integration-test-authentication-1 Created Container integration-test-device-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"} authentication-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"addrs":["localhost:3011"],"diagnostic-addrs":[],"level":"info","msg":"Initializing server.","subsystem":"opa","time":"2025-04-02T18:57:54Z"} authentication-1 | {"level":"info","message":"Authentication Service started successfully"} experiment-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} authorization-1 | {"client_addr":"127.0.0.1:45988","level":"info","msg":"Received request.","req_id":1,"req_method":"GET","req_path":"/","subsystem":"opa","time":"2025-04-02T18:57:55Z"} authorization-1 | {"client_addr":"127.0.0.1:45988","level":"info","msg":"Sent response.","req_id":1,"req_method":"GET","req_path":"/","resp_bytes":1424,"resp_duration":0.311297,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:57:55Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"๐Ÿงช experimental features enabled: []","subsystem":"openfga","timestamp":1743620275.1959329} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"using 'memory' storage engine","subsystem":"openfga","timestamp":1743620275.1960673} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"warn","message":"authentication is disabled","subsystem":"openfga","timestamp":1743620275.1960902} 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":1743620275.1961257} 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":1743620275.1961534} 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":1743620275.1962037,"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":1743620275.2041764} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","level":"info","message":"HTTP server listening on 'localhost:3013'...","subsystem":"openfga","timestamp":1743620275.205423} 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:43938","raw_request":{"name":"crosslab"},"raw_response":{"created_at":"2025-04-02T18:57:55.243539247Z","id":"01JQVXVZ1B74QK333KNV96CZBP","name":"crosslab","updated_at":"2025-04-02T18:57:55.243539247Z"},"request_id":"b3e1d37c-07b7-48bf-b515-62ac25d2e586","subsystem":"openfga","timestamp":1743620275.2436512} 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:43938","raw_request":{"schema_version":"1.1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_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":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT"},"request_id":"bfadb094-40ca-4920-844e-82d20144660a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620275.3359933} device-1 | {"level":"info","log_level":"info","message":"Logging initialized","transports":"stdout"} experiment-1 | {"level":"info","message":"Experiment Service started successfully"} authorization-1 | {"client_addr":"127.0.0.1:45988","level":"info","msg":"Received request.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","subsystem":"opa","time":"2025-04-02T18:57:55Z"} authorization-1 | {"client_addr":"127.0.0.1:45988","level":"info","msg":"Sent response.","req_id":2,"req_method":"PUT","req_path":"/v1/data/jwt_secret","resp_bytes":0,"resp_duration":0.235003,"resp_status":204,"subsystem":"opa","time":"2025-04-02T18:57:55Z"} 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-02T18:57:55Z"} device-1 | {"level":"info","message":"Device Service started successfully"} gateway-1 | {"time_local":"02/Apr/2025:18:58:15 +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.011","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"a075171b036753994f9900422505e8a2"} authentication-1 | {"level":"info","message":"HEAD /auth/status 200 7ms","method":"HEAD","requestID":"a075171b036753994f9900422505e8a2","responseTime":7,"status":200,"url":"/auth/status"} gateway-1 | {"time_local":"02/Apr/2025:18:58:15 +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.012","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"e635ea6e93295489bbd3d1acbc1ee207"} device-1 | {"level":"info","message":"HEAD /device/status 200 32ms","method":"HEAD","requestID":"6ea4db20-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/device/status"} gateway-1 | {"time_local":"02/Apr/2025:18:58:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"HEAD /authorization/status HTTP/1.1","status": "200","body_bytes_sent":"0","request_time":"0.007","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"b60abe9d2df6aba68b8dc097cf3a9bb8"} authorization-1 | {"level":"info","message":"HEAD /authorization/status 200 5ms","method":"HEAD","requestID":"b60abe9d2df6aba68b8dc097cf3a9bb8","responseTime":5,"status":200,"url":"/authorization/status"} gateway-1 | {"time_local":"02/Apr/2025:18:58:15 +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.036","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"4845ebe97837962776247774424b2b1c"} federation-1 | {"level":"info","message":"HEAD /federation/status 200 7ms","method":"HEAD","requestID":"6eb11020-0ff4-11f0-a443-43200231f067","responseTime":7,"status":200,"url":"/federation/status"} gateway-1 | {"time_local":"02/Apr/2025:18:58:15 +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.035","http_referrer":"","http_user_agent":"curl/7.81.0","requestID":"cbadb8035573e9609159865b04e74bc1"} experiment-1 | {"level":"info","message":"HEAD /experiment/status 200 29ms","method":"HEAD","requestID":"6eb41d60-0ff4-11f0-89f5-15e88a4386f1","responseTime":29,"status":200,"url":"/experiment/status"} gateway-1 | {"time_local":"02/Apr/2025:18:58:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /login HTTP/1.1","status": "201","body_bytes_sent":"88","request_time":"0.185","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"46fbba7520264028dba157b281216242"} authentication-1 | {"level":"info","message":"POST /login 201 152ms","method":"POST","requestID":"46fbba7520264028dba157b281216242","responseTime":152,"status":201,"url":"/login"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwM30.48tBrRB_ezAAU1RCox_a8ccCYL1K3f2zXss7Uncgm2I","level":"info","message":"auth send jwt","requestID":"816a2712be73d4554ceb9ec704fdfa72"} authentication-1 | {"level":"info","message":"GET /auth 200 34ms","method":"GET","requestID":"816a2712be73d4554ceb9ec704fdfa72","responseTime":34,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"816a2712be73d4554ceb9ec704fdfa72"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:23Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":3,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.327982,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"816a2712be73d4554ceb9ec704fdfa72","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620303,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwM30.48tBrRB_ezAAU1RCox_a8ccCYL1K3f2zXss7Uncgm2I"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","method":"POST","requestID":"816a2712be73d4554ceb9ec704fdfa72","responseTime":46,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"634f64f7-1c72-40b2-bce6-bfffbcb853d3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620303.9045243} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"816a2712be73d4554ceb9ec704fdfa72","responseTime":7,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f337787e-a926-4343-b9fd-c76339747755","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620303.9420707} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"816a2712be73d4554ceb9ec704fdfa72","responseTime":8,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"c028949e-7e84-414c-aec9-336652e0aa84","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620303.9990873} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a3d66af5-2f8b-4567-acfb-82c57603d0b9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620304.002075} authorization-1 | {"level":"info","message":"POST /relations/update 200 62ms","method":"POST","requestID":"816a2712be73d4554ceb9ec704fdfa72","responseTime":62,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:23.999062872Z"}]},"request_id":"011b263c-9408-4ec4-bd6d-1b43cd2fd9ea","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620304.033707} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"816a2712be73d4554ceb9ec704fdfa72","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"816a2712be73d4554ceb9ec704fdfa72"} gateway-1 | {"time_local":"02/Apr/2025:18:58:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.388","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"816a2712be73d4554ceb9ec704fdfa72"} device-1 | {"level":"info","message":"POST /devices? 201 342ms","method":"POST","requestID":"816a2712be73d4554ceb9ec704fdfa72","responseTime":342,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwNH0.Yqg3W1jO1Q8voVto58x3LAtm_ysARSxqNvkuJtWYVWc","level":"info","message":"auth send jwt","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:24Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":4,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.791146,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620304,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwNH0.Yqg3W1jO1Q8voVto58x3LAtm_ysARSxqNvkuJtWYVWc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"32b5a4cc-6f5b-4549-a1c5-dbcdf8827c2e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620304.1864653} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bc6acc6f-3fa9-4e02-aeed-9801514b9527","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620304.1963167} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"58dfd96d-e54e-4878-b4f4-0582622eadde","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620304.234346} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7ff4ba3-90b7-423b-93aa-1161eb255ce3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620304.2346182} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:24.234332357Z"}]},"request_id":"1f2016c0-d53a-4b5d-b4b6-7a2589ee940e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620304.2414582} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0"} gateway-1 | {"time_local":"02/Apr/2025:18:58:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.153","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0"} device-1 | {"level":"info","message":"POST /devices? 201 147ms","method":"POST","requestID":"2f81c8a5ede7227a6fffd7c2e86ed4f0","responseTime":147,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"33d6b59b18b2cff4cdf50c94ca6b43d8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"33d6b59b18b2cff4cdf50c94ca6b43d8","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0f72ddce-a713-494b-b017-2bf57b79b44a/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":"33d6b59b18b2cff4cdf50c94ca6b43d8"} device-1 | {"level":"info","message":"OPTIONS /devices/0f72ddce-a713-494b-b017-2bf57b79b44a/websocket 200 1ms","method":"OPTIONS","requestID":"33d6b59b18b2cff4cdf50c94ca6b43d8","responseTime":1,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM","level":"info","message":"auth send jwt","requestID":"45e168a1664bf6608f08d412d6f6a2f5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"45e168a1664bf6608f08d412d6f6a2f5","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c9ed501bee3c0faecb8310a9966a035f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"c9ed501bee3c0faecb8310a9966a035f","responseTime":0,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"45e168a1664bf6608f08d412d6f6a2f5"} gateway-1 | {"time_local":"02/Apr/2025:18:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/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":"c9ed501bee3c0faecb8310a9966a035f"} device-1 | {"level":"info","message":"OPTIONS /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/websocket 200 0ms","method":"OPTIONS","requestID":"c9ed501bee3c0faecb8310a9966a035f","responseTime":0,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/websocket"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":5,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859087,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"45e168a1664bf6608f08d412d6f6a2f5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620307,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"45e168a1664bf6608f08d412d6f6a2f5","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM","level":"info","message":"auth send jwt","requestID":"2fc7af01bee927b8e2a6702794d2cd5c"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2fc7af01bee927b8e2a6702794d2cd5c","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"2fc7af01bee927b8e2a6702794d2cd5c"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":6,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.096574,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2fc7af01bee927b8e2a6702794d2cd5c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620307,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2fc7af01bee927b8e2a6702794d2cd5c","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"45e168a1664bf6608f08d412d6f6a2f5"} gateway-1 | {"time_local":"02/Apr/2025:18:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0f72ddce-a713-494b-b017-2bf57b79b44a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.068","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"45e168a1664bf6608f08d412d6f6a2f5"} device-1 | {"level":"info","message":"POST /devices/0f72ddce-a713-494b-b017-2bf57b79b44a/websocket 200 62ms","method":"POST","requestID":"45e168a1664bf6608f08d412d6f6a2f5","responseTime":62,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"2fc7af01bee927b8e2a6702794d2cd5c"} gateway-1 | {"time_local":"02/Apr/2025:18:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.092","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2fc7af01bee927b8e2a6702794d2cd5c"} device-1 | {"level":"info","message":"POST /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/websocket 200 84ms","method":"POST","requestID":"2fc7af01bee927b8e2a6702794d2cd5c","responseTime":84,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM","level":"info","message":"auth send jwt","requestID":"2aa2e849176829aab7ef1c4095bdbe14"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"2aa2e849176829aab7ef1c4095bdbe14","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2aa2e849176829aab7ef1c4095bdbe14"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":7,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.703558,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2aa2e849176829aab7ef1c4095bdbe14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620307,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2aa2e849176829aab7ef1c4095bdbe14","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:23.999062872Z"}]},"request_id":"4b84c7dc-4561-46be-a012-b7c637679e06","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620307.5395243} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2aa2e849176829aab7ef1c4095bdbe14","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2aa2e849176829aab7ef1c4095bdbe14"} gateway-1 | {"time_local":"02/Apr/2025:18:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0f72ddce-a713-494b-b017-2bf57b79b44a? 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":"2aa2e849176829aab7ef1c4095bdbe14"} device-1 | {"level":"info","message":"GET /devices/0f72ddce-a713-494b-b017-2bf57b79b44a? 200 48ms","method":"GET","requestID":"2aa2e849176829aab7ef1c4095bdbe14","responseTime":48,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM","level":"info","message":"auth send jwt","requestID":"2033235f99619a89ad779f74a469ab76"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2033235f99619a89ad779f74a469ab76","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2033235f99619a89ad779f74a469ab76"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":8,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.175403,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2033235f99619a89ad779f74a469ab76","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620307,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"2033235f99619a89ad779f74a469ab76","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:24.234332357Z"}]},"request_id":"41ca8556-5a97-4952-a459-bb36caa83f30","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620307.5905197} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2033235f99619a89ad779f74a469ab76","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2033235f99619a89ad779f74a469ab76"} gateway-1 | {"time_local":"02/Apr/2025:18:58:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9? 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":"2033235f99619a89ad779f74a469ab76"} device-1 | {"level":"info","message":"GET /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9? 200 37ms","method":"GET","requestID":"2033235f99619a89ad779f74a469ab76","responseTime":37,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM","level":"info","message":"auth send jwt","requestID":"53441d9e64491757479f4955e7488d89"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"53441d9e64491757479f4955e7488d89","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"53441d9e64491757479f4955e7488d89"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":9,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.896636,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"53441d9e64491757479f4955e7488d89","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620307,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"53441d9e64491757479f4955e7488d89","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Attempting to run experiment","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Attempting to book experiment","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Successfully booked experiment","requestID":"53441d9e64491757479f4955e7488d89"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"763ecf30-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"763f1d50-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":10,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.864952,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"763ecf30-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620307,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"763ecf30-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":11,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.263307,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"763f1d50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620307,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"763f1d50-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:23.999062872Z"}]},"request_id":"e02651af-a77a-45fd-86b8-50c26c09c2f5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620307.8897378} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"763ecf30-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:24.234332357Z"}]},"request_id":"c0a73704-633e-4402-a823-272cd07a6e9b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620307.8913724} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"763f1d50-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"763ecf30-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/0f72ddce-a713-494b-b017-2bf57b79b44a? 200 47ms","method":"GET","requestID":"763ecf30-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"763f1d50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9? 200 46ms","method":"GET","requestID":"763f1d50-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Setting up experiment","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Successfully locked booking for experiment","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Attempting to update booking for experiment","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Successfully updated booking for experiment","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Successfully set up experiment","requestID":"53441d9e64491757479f4955e7488d89"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"765871b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"765bcd10-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Successfully running experiment","requestID":"53441d9e64491757479f4955e7488d89"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":12,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980167,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"765c1b30-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"765871b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620307,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"765871b0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":13,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.972403,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"765bcd10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620307,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"765bcd10-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b95c12cb-9315-4f78-8d2c-fc093f8dc615","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.0811336} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:24.234332357Z"}]},"request_id":"204fd8d4-02b4-4910-8f24-2b822bcc8f9a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.0815117} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"765bcd10-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":14,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.896862,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"765c1b30-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","object_type":"device","rebac_allow":false,"scope_allow":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":"765c1b30-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:23.999062872Z"}]},"request_id":"210bb3e5-185e-49dd-9abd-e5127d917e47","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.083357} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"765871b0-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12f0348e-394d-4118-ba53-82f146f50c67#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12f0348e-394d-4118-ba53-82f146f50c67","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"484a358b-ede2-4f93-92ef-acaa6417724d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.1146202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a50eeb1-3874-4108-b065-4899335202b7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.1149583} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"765c1b30-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/0f72ddce-a713-494b-b017-2bf57b79b44a/signaling 200 52ms","method":"POST","requestID":"765c1b30-0ff4-11f0-acd3-db29ca75a471","responseTime":52,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"53441d9e64491757479f4955e7488d89","responseTime":47,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"765bcd10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9? 200 55ms","method":"GET","requestID":"765bcd10-0ff4-11f0-acd3-db29ca75a471","responseTime":55,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"765871b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/0f72ddce-a713-494b-b017-2bf57b79b44a? 200 80ms","method":"GET","requestID":"765871b0-0ff4-11f0-acd3-db29ca75a471","responseTime":80,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7664cdc0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0ff380c4-2a25-44c2-94d3-8ac8366c4e8d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.1302688} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":15,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.899009,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7664cdc0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7664cdc0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76667b70-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"53441d9e64491757479f4955e7488d89"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7664cdc0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/signaling 200 41ms","method":"POST","requestID":"7664cdc0-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/signaling"} gateway-1 | {"time_local":"02/Apr/2025:18:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.568","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"level":"info","message":"POST /experiments? 201 530ms","method":"POST","requestID":"53441d9e64491757479f4955e7488d89","responseTime":530,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34e5160d-f24b-48ae-97d8-e946eda22457","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.168934} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":16,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":32.150298,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76667b70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"76667b70-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76667b70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/0f72ddce-a713-494b-b017-2bf57b79b44a/signaling 200 40ms","method":"POST","requestID":"76667b70-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4","level":"info","message":"auth send jwt","requestID":"353b4f9614cd840d3ccc39e094f8e5d0"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"353b4f9614cd840d3ccc39e094f8e5d0","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"353b4f9614cd840d3ccc39e094f8e5d0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"766d3230-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":17,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.851271,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"353b4f9614cd840d3ccc39e094f8e5d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620308,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"353b4f9614cd840d3ccc39e094f8e5d0","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"34702776-a98f-43f3-8b6e-48d043262da2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.1832838} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":18,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.730615,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"766d3230-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","object_type":"device","rebac_allow":false,"scope_allow":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":"766d3230-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:23.999062872Z"}]},"request_id":"8261d0e3-059b-4449-af9b-090c9525714d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.2139482} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"766d3230-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"353b4f9614cd840d3ccc39e094f8e5d0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/signaling 200 36ms","method":"POST","requestID":"766d3230-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"53441d9e64491757479f4955e7488d89"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"353b4f9614cd840d3ccc39e094f8e5d0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Building connection plan","requestID":"53441d9e64491757479f4955e7488d89"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"c87a52cf-38dd-4972-9d28-f7cebbfc0591"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"b85a9928-e9a0-40f5-afaa-c8748b35354e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"a14d4de4-ebec-4d7a-a46e-7845fbb2ab18"}]},"level":"info","message":"Built pairwise service configurations","requestID":"53441d9e64491757479f4955e7488d89"} gateway-1 | {"time_local":"02/Apr/2025:18:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0f72ddce-a713-494b-b017-2bf57b79b44a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"353b4f9614cd840d3ccc39e094f8e5d0"} device-1 | {"level":"info","message":"GET /devices/0f72ddce-a713-494b-b017-2bf57b79b44a? 200 41ms","method":"GET","requestID":"353b4f9614cd840d3ccc39e094f8e5d0","responseTime":41,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a?"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"53441d9e64491757479f4955e7488d89"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4","level":"info","message":"auth send jwt","requestID":"0b4f8104e49c9c94818570100464af99"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0b4f8104e49c9c94818570100464af99","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"76745e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"0b4f8104e49c9c94818570100464af99"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":19,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.902366,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76745e20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620307,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwN30.mWgKrXhmUHZL715vti3-y21ekSUJvlacD7vbjYykXeM"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"76745e20-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":20,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.855375,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"0b4f8104e49c9c94818570100464af99","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620308,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"0b4f8104e49c9c94818570100464af99","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:24.234332357Z"}]},"request_id":"56f9de68-672f-42d3-8c5f-0175819d98c0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.263534} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"0b4f8104e49c9c94818570100464af99","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"0b4f8104e49c9c94818570100464af99"} gateway-1 | {"time_local":"02/Apr/2025:18:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0b4f8104e49c9c94818570100464af99"} device-1 | {"level":"info","message":"GET /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9? 200 42ms","method":"GET","requestID":"0b4f8104e49c9c94818570100464af99","responseTime":42,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"6ad0a044-0e0b-4c74-b125-7001fb309680","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.3144526} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"60c87d0b-36fc-48ba-b0b6-c9a022ebda79","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.3147707} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","method":"POST","requestID":"76745e20-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"76745e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"76745e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e'","requestID":"76745e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e'","requestID":"76745e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"76745e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 127ms","method":"POST","requestID":"76745e20-0ff4-11f0-acd3-db29ca75a471","responseTime":127,"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":"76745e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e","device":"a738e1aa-0200-451e-bd09-8561f3dee5e9","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/c2c47e13-8f24-441b-bce0-cd452f2f206e","device":"0f72ddce-a713-494b-b017-2bf57b79b44a","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/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"53441d9e64491757479f4955e7488d89"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76918310-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9a1afee7-4165-469e-ac8b-ebbfee13f0d5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.4222085} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":21,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.837193,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76918310-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","object_type":"device","rebac_allow":false,"scope_allow":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":"76918310-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76918310-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/0f72ddce-a713-494b-b017-2bf57b79b44a/signaling 200 35ms","method":"POST","requestID":"76918310-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76977680-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"device":"a738e1aa-0200-451e-bd09-8561f3dee5e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a738e1aa-0200-451e-bd09-8561f3dee5e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"342d569c-b446-478b-be8d-c1ec8ad78ec5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.4611943} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":22,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.983778,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} device-1 | {"device":"0f72ddce-a713-494b-b017-2bf57b79b44a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0f72ddce-a713-494b-b017-2bf57b79b44a","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/a738e1aa-0200-451e-bd09-8561f3dee5e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76977680-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","object_type":"device","rebac_allow":false,"scope_allow":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":"76977680-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76977680-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/signaling 200 13ms","method":"POST","requestID":"76977680-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 6081442223368806700 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:6zyI\r\na=ice-pwd:fKNdfNy3fLx9K2IYCiHg3tKd\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9D:D6:48:16:C4:F9:C9:B5:24:E8:9E:CD:BF:EA:2B:6B:A3:1D:33:C0:28:29:48:9A:63:93:9C:EA:8B:CB:48:60\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"0f72ddce-a713-494b-b017-2bf57b79b44a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 5370065783731734924 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:X79z\r\na=ice-pwd:nkxuZMUqwCK/07Qnlo3qDuFi\r\na=ice-options:trickle\r\na=fingerprint:sha-256 17:04:AD:B0:69:51:06:E9:95:91:41:54:DE:BE:0D:CE:B1:8E:16:48:05:E7:4B:59:E1:83:AA:46:BF:A0:30:1B\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"a738e1aa-0200-451e-bd09-8561f3dee5e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:92743151 1 udp 2113937151 fc6c0f95-52cf-46af-b9b7-4b222997b821.local 52418 typ host generation 0 ufrag X79z network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a738e1aa-0200-451e-bd09-8561f3dee5e9","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/a738e1aa-0200-451e-bd09-8561f3dee5e9'"} device-1 | {"content":{"candidate":"candidate:777142511 1 udp 2113937151 50254264-f9bc-41a4-9924-7739e5082640.local 50662 typ host generation 0 ufrag 6zyI network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0f72ddce-a713-494b-b017-2bf57b79b44a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"0f72ddce-a713-494b-b017-2bf57b79b44a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"a738e1aa-0200-451e-bd09-8561f3dee5e9","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/c2c47e13-8f24-441b-bce0-cd452f2f206e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c2c47e13-8f24-441b-bce0-cd452f2f206e","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0f72ddce-a713-494b-b017-2bf57b79b44a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"0f72ddce-a713-494b-b017-2bf57b79b44a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a738e1aa-0200-451e-bd09-8561f3dee5e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"a738e1aa-0200-451e-bd09-8561f3dee5e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"a738e1aa-0200-451e-bd09-8561f3dee5e9","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6448debf36880a75cb7b32eb1564d673","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6448debf36880a75cb7b32eb1564d673","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/a738e1aa-0200-451e-bd09-8561f3dee5e9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e"}}},"level":"info","message":"received a callback","requestID":"6448debf36880a75cb7b32eb1564d673"} device-1 | {"data":{"peerconnection":"c2c47e13-8f24-441b-bce0-cd452f2f206e","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 35ms","method":"POST","requestID":"6448debf36880a75cb7b32eb1564d673","responseTime":35,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.039","http_referrer":"","http_user_agent":"node-fetch","requestID":"6448debf36880a75cb7b32eb1564d673"} device-1 | {"data":{"peerconnection":"c2c47e13-8f24-441b-bce0-cd452f2f206e","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/c2c47e13-8f24-441b-bce0-cd452f2f206e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c2c47e13-8f24-441b-bce0-cd452f2f206e","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"92b0b7fa98a373022df7991407d01294","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"92b0b7fa98a373022df7991407d01294","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/a738e1aa-0200-451e-bd09-8561f3dee5e9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e"}}},"level":"info","message":"received a callback","requestID":"92b0b7fa98a373022df7991407d01294"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4","level":"info","message":"auth send jwt","requestID":"e30613415e9c7d15c1d605776e307283"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"e30613415e9c7d15c1d605776e307283","responseTime":24,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/12f0348e-394d-4118-ba53-82f146f50c67","requestID":"e30613415e9c7d15c1d605776e307283"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":23,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.777254,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e30613415e9c7d15c1d605776e307283","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620308,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e30613415e9c7d15c1d605776e307283","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"76bc3c90-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/12f0348e-394d-4118-ba53-82f146f50c67","requestID":"e30613415e9c7d15c1d605776e307283"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc2c47e13-8f24-441b-bce0-cd452f2f206e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6aeb7b77-75bf-42b1-90a6-64206d8d0bd0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.7048318} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":24,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.764239,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76bc3c90-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e","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":"76bc3c90-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"GET /experiments/12f0348e-394d-4118-ba53-82f146f50c67 200 17ms","method":"GET","requestID":"e30613415e9c7d15c1d605776e307283","responseTime":17,"status":200,"url":"/experiments/12f0348e-394d-4118-ba53-82f146f50c67"} gateway-1 | {"time_local":"02/Apr/2025:18:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/12f0348e-394d-4118-ba53-82f146f50c67 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e30613415e9c7d15c1d605776e307283"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"76bc3c90-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e 200 14ms","method":"GET","requestID":"76bc3c90-0ff4-11f0-acd3-db29ca75a471","responseTime":14,"status":200,"url":"/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 131ms","method":"POST","requestID":"92b0b7fa98a373022df7991407d01294","responseTime":131,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.134","http_referrer":"","http_user_agent":"node-fetch","requestID":"92b0b7fa98a373022df7991407d01294"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76cb30b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da1a8d20-64d7-4475-b372-4aa4b7eff90f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.8004434} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":25,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.541011,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76cb30b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"76cb30b0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76cb30b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/signaling 200 11ms","method":"POST","requestID":"76cb30b0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76cd2c80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"963d8461-259b-4fce-9be8-af522d569fcc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.837404} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":26,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.818119,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4","level":"info","message":"auth send jwt","requestID":"bc9dafbe41e1ed48f2831e5697388f6c"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"bc9dafbe41e1ed48f2831e5697388f6c","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76cd2c80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/12f0348e-394d-4118-ba53-82f146f50c67","requestID":"bc9dafbe41e1ed48f2831e5697388f6c"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"76cd2c80-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76cd2c80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/0f72ddce-a713-494b-b017-2bf57b79b44a/signaling 200 35ms","method":"POST","requestID":"76cd2c80-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":27,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.799208,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bc9dafbe41e1ed48f2831e5697388f6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620308,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bc9dafbe41e1ed48f2831e5697388f6c","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/12f0348e-394d-4118-ba53-82f146f50c67","requestID":"bc9dafbe41e1ed48f2831e5697388f6c"} gateway-1 | {"time_local":"02/Apr/2025:18:58:28 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/12f0348e-394d-4118-ba53-82f146f50c67 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.019","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bc9dafbe41e1ed48f2831e5697388f6c"} experiment-1 | {"level":"info","message":"GET /experiments/12f0348e-394d-4118-ba53-82f146f50c67 200 12ms","method":"GET","requestID":"bc9dafbe41e1ed48f2831e5697388f6c","responseTime":12,"status":200,"url":"/experiments/12f0348e-394d-4118-ba53-82f146f50c67"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4","level":"info","message":"auth send jwt","requestID":"a1fe611ea00b004dec82bb4533ee7e29"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"a1fe611ea00b004dec82bb4533ee7e29","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/12f0348e-394d-4118-ba53-82f146f50c67","requestID":"a1fe611ea00b004dec82bb4533ee7e29"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":28,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.655971,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a1fe611ea00b004dec82bb4533ee7e29","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620308,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1fe611ea00b004dec82bb4533ee7e29","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Attempting to finish experiment","requestID":"a1fe611ea00b004dec82bb4533ee7e29"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"76dae820-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":29,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.680641,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:28Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76dae820-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620308,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOH0.KVKI-cYOqiCNQ0A1Q212h3cw2ksQNmVw9y9wf-UwQc4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"76dae820-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e","device":"a738e1aa-0200-451e-bd09-8561f3dee5e9","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e","device":"0f72ddce-a713-494b-b017-2bf57b79b44a","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/c2c47e13-8f24-441b-bce0-cd452f2f206e' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c2c47e13-8f24-441b-bce0-cd452f2f206e","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4598160a0f9630e623d1bd69170d9b46","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4598160a0f9630e623d1bd69170d9b46","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"88f23ac875e771856ed4ab92b3ecb9a7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"88f23ac875e771856ed4ab92b3ecb9a7","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e"}}},"level":"info","message":"received a callback","requestID":"4598160a0f9630e623d1bd69170d9b46"} 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/a738e1aa-0200-451e-bd09-8561f3dee5e9"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e"}}},"level":"info","message":"received a callback","requestID":"88f23ac875e771856ed4ab92b3ecb9a7"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc2c47e13-8f24-441b-bce0-cd452f2f206e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc2c47e13-8f24-441b-bce0-cd452f2f206e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"82bd1af7-e968-4be5-9f88-b6461f43ff47","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.9525578} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"01dc1c46-e0df-4131-8743-7b495f319ae1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620308.977518} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"76dae820-0ff4-11f0-acd3-db29ca75a471","responseTime":43,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"c2c47e13-8f24-441b-bce0-cd452f2f206e","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"76dae820-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e 204 95ms","method":"DELETE","requestID":"76dae820-0ff4-11f0-acd3-db29ca75a471","responseTime":95,"status":204,"url":"/peerconnections/c2c47e13-8f24-441b-bce0-cd452f2f206e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/12f0348e-394d-4118-ba53-82f146f50c67"},"level":"info","message":"Successfully finished experiment","requestID":"a1fe611ea00b004dec82bb4533ee7e29"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76f06bf0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:29Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa738e1aa-0200-451e-bd09-8561f3dee5e9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd7c2d56-2eeb-47d1-94e8-80d04892f34c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.0454788} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":30,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.810626,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76f06bf0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"76f06bf0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76f06bf0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/signaling 200 11ms","method":"POST","requestID":"76f06bf0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"76f267c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12f0348e-394d-4118-ba53-82f146f50c67': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F12f0348e-394d-4118-ba53-82f146f50c67","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"9a7c7105-6243-44c8-83f5-7fa977da3f9a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.0792894} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47f1a4b3-d134-4b27-bcad-393b3a4a2aa0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.0796268} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"a1fe611ea00b004dec82bb4533ee7e29","responseTime":45,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:29Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0f72ddce-a713-494b-b017-2bf57b79b44a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"99ddec18-0208-4eef-a1a2-961dc13dd657","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.0823328} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":31,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.341314,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:29Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76f267c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"76f267c0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"76f267c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/0f72ddce-a713-494b-b017-2bf57b79b44a/signaling 200 35ms","method":"POST","requestID":"76f267c0-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/0f72ddce-a713-494b-b017-2bf57b79b44a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/12f0348e-394d-4118-ba53-82f146f50c67","requestID":"a1fe611ea00b004dec82bb4533ee7e29"} gateway-1 | {"time_local":"02/Apr/2025:18:58:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/12f0348e-394d-4118-ba53-82f146f50c67 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.329","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1fe611ea00b004dec82bb4533ee7e29"} experiment-1 | {"level":"info","message":"DELETE /experiments/12f0348e-394d-4118-ba53-82f146f50c67 204 302ms","method":"DELETE","requestID":"a1fe611ea00b004dec82bb4533ee7e29","responseTime":302,"status":204,"url":"/experiments/12f0348e-394d-4118-ba53-82f146f50c67"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 244ms","method":"POST","requestID":"4598160a0f9630e623d1bd69170d9b46","responseTime":244,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch","requestID":"4598160a0f9630e623d1bd69170d9b46"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 242ms","method":"POST","requestID":"88f23ac875e771856ed4ab92b3ecb9a7","responseTime":242,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch","requestID":"88f23ac875e771856ed4ab92b3ecb9a7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOX0.nG6dWwaYnoAS3wpEaI9UJhsWg2_pCH8x4h0Mh6y62fQ","level":"info","message":"auth send jwt","requestID":"9f74227a947a6956828ac1d1e2a582af"} authentication-1 | {"level":"info","message":"GET /auth 200 32ms","method":"GET","requestID":"9f74227a947a6956828ac1d1e2a582af","responseTime":32,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:58:29 +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.763","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8e40da25945a6ecc0eb164ab588c312a"} gateway-1 | {"time_local":"02/Apr/2025:18:58:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2337","request_time":"1.776","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"368468cb97b53d3a59b1d24c13322c66"} device-1 | {"level":"info","message":"postDevices called","requestID":"9f74227a947a6956828ac1d1e2a582af"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:29Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/0f72ddce-a713-494b-b017-2bf57b79b44a' closed"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":32,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.028038,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9f74227a947a6956828ac1d1e2a582af","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620309,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOX0.nG6dWwaYnoAS3wpEaI9UJhsWg2_pCH8x4h0Mh6y62fQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9f74227a947a6956828ac1d1e2a582af","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a738e1aa-0200-451e-bd09-8561f3dee5e9' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d7ce1ba4-c3f1-4238-98c9-9e5dadc2fa3c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.270298} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"9f74227a947a6956828ac1d1e2a582af","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b69f484a-ed07-428c-aa91-259c18f464b4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.2752802} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9f74227a947a6956828ac1d1e2a582af","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"5a1447fd-9476-48b1-9507-725c28dc4435","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.2872052} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"170f9573-9d53-43ea-a14e-f4fdf3cfd59d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.2874203} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"9f74227a947a6956828ac1d1e2a582af","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.287190985Z"}]},"request_id":"9deec652-68f0-4f81-8d9e-39b4fabff4f3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.29184} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"9f74227a947a6956828ac1d1e2a582af","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9f74227a947a6956828ac1d1e2a582af"} gateway-1 | {"time_local":"02/Apr/2025:18:58:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9f74227a947a6956828ac1d1e2a582af"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"9f74227a947a6956828ac1d1e2a582af","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOX0.nG6dWwaYnoAS3wpEaI9UJhsWg2_pCH8x4h0Mh6y62fQ","level":"info","message":"auth send jwt","requestID":"010258913f5b8e4083af5a92a0b9faa6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"010258913f5b8e4083af5a92a0b9faa6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"010258913f5b8e4083af5a92a0b9faa6"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:29Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":33,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.680179,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:29Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"010258913f5b8e4083af5a92a0b9faa6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620309,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMwOX0.nG6dWwaYnoAS3wpEaI9UJhsWg2_pCH8x4h0Mh6y62fQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"010258913f5b8e4083af5a92a0b9faa6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dbf58e35-e54e-47cc-b030-bf91207d3dc1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.3659663} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"010258913f5b8e4083af5a92a0b9faa6","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6e4528f9-7165-4524-954f-a75927c7c6e8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.3723125} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"010258913f5b8e4083af5a92a0b9faa6","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"cd6df9bb-f8dc-4acf-b4fc-4244e5e636b6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.383238} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"03689243-f1dc-41a8-8c05-278d74607d79","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.3835242} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"010258913f5b8e4083af5a92a0b9faa6","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.383221835Z"}]},"request_id":"e672a364-b84f-4849-9637-f56aff3e8f91","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620309.414574} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"010258913f5b8e4083af5a92a0b9faa6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"010258913f5b8e4083af5a92a0b9faa6"} gateway-1 | {"time_local":"02/Apr/2025:18:58:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"010258913f5b8e4083af5a92a0b9faa6"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"010258913f5b8e4083af5a92a0b9faa6","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMH0.P-aJnuc88Ai97ksex-xVgI4K6A1CeCGYmNKyl0hsMpg","level":"info","message":"auth send jwt","requestID":"cf8dccc54f143c2f53e355e85064ff80"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cf8dccc54f143c2f53e355e85064ff80","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"cf8dccc54f143c2f53e355e85064ff80"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:30Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":34,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877886,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf8dccc54f143c2f53e355e85064ff80","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620310,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMH0.P-aJnuc88Ai97ksex-xVgI4K6A1CeCGYmNKyl0hsMpg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"cf8dccc54f143c2f53e355e85064ff80","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.383221835Z"}]},"request_id":"af438e9d-8855-4f79-b884-6c37d27ee896","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620310.5337915} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cf8dccc54f143c2f53e355e85064ff80","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f4e8ff1-0712-4a81-b53f-9534f75efe2b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620310.5626395} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"cf8dccc54f143c2f53e355e85064ff80","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.383221835Z"}]},"request_id":"c79bbc4c-d4a8-44d7-9312-99ac03a6f3e5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620310.5758905} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cf8dccc54f143c2f53e355e85064ff80","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"cf8dccc54f143c2f53e355e85064ff80"} gateway-1 | {"time_local":"02/Apr/2025:18:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.068","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"cf8dccc54f143c2f53e355e85064ff80"} device-1 | {"level":"info","message":"PATCH /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0 200 89ms","method":"PATCH","requestID":"cf8dccc54f143c2f53e355e85064ff80","responseTime":89,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMH0.P-aJnuc88Ai97ksex-xVgI4K6A1CeCGYmNKyl0hsMpg","level":"info","message":"auth send jwt","requestID":"e15735e241352d0c58334fa9f4fb16dc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e15735e241352d0c58334fa9f4fb16dc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e15735e241352d0c58334fa9f4fb16dc"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:30Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":35,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71273,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:30Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e15735e241352d0c58334fa9f4fb16dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620310,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMH0.P-aJnuc88Ai97ksex-xVgI4K6A1CeCGYmNKyl0hsMpg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e15735e241352d0c58334fa9f4fb16dc","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e15735e241352d0c58334fa9f4fb16dc"} gateway-1 | {"time_local":"02/Apr/2025:18:58:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"e15735e241352d0c58334fa9f4fb16dc"} device-1 | {"level":"info","message":"POST /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/websocket 200 54ms","method":"POST","requestID":"e15735e241352d0c58334fa9f4fb16dc","responseTime":54,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4f8cad3fcda7c47602676d52eddbc11e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4f8cad3fcda7c47602676d52eddbc11e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/44a5adeb-652b-4db4-85f9-0f36885649ab/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":"4f8cad3fcda7c47602676d52eddbc11e"} device-1 | {"level":"info","message":"OPTIONS /devices/44a5adeb-652b-4db4-85f9-0f36885649ab/websocket 200 1ms","method":"OPTIONS","requestID":"4f8cad3fcda7c47602676d52eddbc11e","responseTime":1,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU","level":"info","message":"auth send jwt","requestID":"3ad0ec81d4dcbcf185667b1ec7fe3346"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3ad0ec81d4dcbcf185667b1ec7fe3346","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3ad0ec81d4dcbcf185667b1ec7fe3346"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:31Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":36,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901393,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3ad0ec81d4dcbcf185667b1ec7fe3346","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620311,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3ad0ec81d4dcbcf185667b1ec7fe3346","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3ad0ec81d4dcbcf185667b1ec7fe3346"} gateway-1 | {"time_local":"02/Apr/2025:18:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/44a5adeb-652b-4db4-85f9-0f36885649ab/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.062","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3ad0ec81d4dcbcf185667b1ec7fe3346"} device-1 | {"level":"info","message":"POST /devices/44a5adeb-652b-4db4-85f9-0f36885649ab/websocket 200 57ms","method":"POST","requestID":"3ad0ec81d4dcbcf185667b1ec7fe3346","responseTime":57,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU","level":"info","message":"auth send jwt","requestID":"a53b97c4ee20b63c124e4f9932564b83"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a53b97c4ee20b63c124e4f9932564b83","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a53b97c4ee20b63c124e4f9932564b83"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:31Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":37,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668681,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a53b97c4ee20b63c124e4f9932564b83","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620311,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a53b97c4ee20b63c124e4f9932564b83","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.287190985Z"}]},"request_id":"c3422537-6d7f-46d2-9c88-caa725564b2c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620311.9077137} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a53b97c4ee20b63c124e4f9932564b83","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a53b97c4ee20b63c124e4f9932564b83"} gateway-1 | {"time_local":"02/Apr/2025:18:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44a5adeb-652b-4db4-85f9-0f36885649ab? 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":"a53b97c4ee20b63c124e4f9932564b83"} device-1 | {"level":"info","message":"GET /devices/44a5adeb-652b-4db4-85f9-0f36885649ab? 200 37ms","method":"GET","requestID":"a53b97c4ee20b63c124e4f9932564b83","responseTime":37,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU","level":"info","message":"auth send jwt","requestID":"e4524e13c1e011ce42326f05c29fe577"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4524e13c1e011ce42326f05c29fe577","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4524e13c1e011ce42326f05c29fe577"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:31Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":38,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.927546,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:31Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e4524e13c1e011ce42326f05c29fe577","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620311,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4524e13c1e011ce42326f05c29fe577","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.383221835Z"}]},"request_id":"b5b2bf4e-d07f-4426-bacf-62db5167145f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620311.9245565} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e4524e13c1e011ce42326f05c29fe577","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4524e13c1e011ce42326f05c29fe577"} gateway-1 | {"time_local":"02/Apr/2025:18:58:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0? 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":"e4524e13c1e011ce42326f05c29fe577"} device-1 | {"level":"info","message":"GET /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0? 200 12ms","method":"GET","requestID":"e4524e13c1e011ce42326f05c29fe577","responseTime":12,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU","level":"info","message":"auth send jwt","requestID":"17815b099f86202f39b0993f9f59dbc6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"17815b099f86202f39b0993f9f59dbc6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"17815b099f86202f39b0993f9f59dbc6"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:31Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":39,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.850756,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:31Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"17815b099f86202f39b0993f9f59dbc6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620311,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"17815b099f86202f39b0993f9f59dbc6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Attempting to run experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Attempting to book experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Successfully booked experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"78bc0430-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"78bc2b40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":40,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.741884,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"78bc0430-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620311,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"78bc0430-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":41,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.709207,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"78bc2b40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620311,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"78bc2b40-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.287190985Z"}]},"request_id":"7274a5aa-4b9b-4696-b51f-a9511884fd7d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.060897} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78bc0430-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.383221835Z"}]},"request_id":"655e045c-8c33-4f8e-8de1-78749a54f45f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.0622149} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"78bc2b40-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"78bc0430-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/44a5adeb-652b-4db4-85f9-0f36885649ab? 200 16ms","method":"GET","requestID":"78bc0430-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"78bc2b40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0? 200 16ms","method":"GET","requestID":"78bc2b40-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Setting up experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Successfully locked booking for experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Attempting to update booking for experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Successfully updated booking for experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Successfully set up experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"790f7b60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"790fc980-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7913c120-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Received request.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49314","level":"info","msg":"Sent response.","req_id":43,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.255777,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"790fc980-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620311,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Successfully running experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"790fc980-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.383221835Z"}]},"request_id":"5996a424-6cc6-459f-9fc0-d6caa97929de","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.639628} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"790fc980-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":44,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.158422,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"acebc4c6-4f5e-4fdc-a309-49fbac5b99a7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.643948} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"790fc980-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7913c120-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","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/745b81c6-af2f-40ac-b91c-22f61ae107b0? 200 47ms","method":"GET","requestID":"790fc980-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0?"} authorization-1 | {"level":"info","message":"POST /authorize 200 19ms","method":"POST","requestID":"7913c120-0ff4-11f0-acd3-db29ca75a471","responseTime":19,"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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"580d9c96-8db6-4707-86d6-4d7e07c7391e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.6459413} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F62d510b9-14a3-4bd8-ac06-16d381d7f202#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F62d510b9-14a3-4bd8-ac06-16d381d7f202","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"a46ad799-9829-4119-a6a6-167f44ff5ac7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.6471653} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"17815b099f86202f39b0993f9f59dbc6","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":42,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":46.199905,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7913c120-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/44a5adeb-652b-4db4-85f9-0f36885649ab/signaling 200 50ms","method":"POST","requestID":"7913c120-0ff4-11f0-acd3-db29ca75a471","responseTime":50,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"790f7b60-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620311,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 77ms","method":"POST","requestID":"790f7b60-0ff4-11f0-acd3-db29ca75a471","responseTime":77,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.287190985Z"}]},"request_id":"6e09da41-882e-4a7c-8104-c7fcc79c16a4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.681319} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"790f7b60-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"791c9ac0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"790f7b60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/44a5adeb-652b-4db4-85f9-0f36885649ab? 200 88ms","method":"GET","requestID":"790f7b60-0ff4-11f0-acd3-db29ca75a471","responseTime":88,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab?"} gateway-1 | {"time_local":"02/Apr/2025:18:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.733","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"17815b099f86202f39b0993f9f59dbc6"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"level":"info","message":"POST /experiments? 201 729ms","method":"POST","requestID":"17815b099f86202f39b0993f9f59dbc6","responseTime":729,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e6a2809e-0901-4d38-b022-f4f56959d189","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.6894946} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":45,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.974326,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"791c9ac0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","object_type":"device","rebac_allow":false,"scope_allow":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":"791c9ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMn0.ISsEuX5-n2JsWA-PQKPkFURHc7wSD36s4MBq8RWgMcA","level":"info","message":"auth send jwt","requestID":"6f9704b940f1023c6efa0576f75d7a3c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f9704b940f1023c6efa0576f75d7a3c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"791e2160-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f9704b940f1023c6efa0576f75d7a3c"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e715c436-ed16-4b09-85ff-b34b3d69d0e9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.7228408} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":46,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.453891,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"791c9ac0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"791e2160-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","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/745b81c6-af2f-40ac-b91c-22f61ae107b0/signaling 200 40ms","method":"POST","requestID":"791c9ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"791e2160-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":47,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78728,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"791e2160-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6f9704b940f1023c6efa0576f75d7a3c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620312,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMn0.ISsEuX5-n2JsWA-PQKPkFURHc7wSD36s4MBq8RWgMcA"} device-1 | {"level":"info","message":"POST /devices/44a5adeb-652b-4db4-85f9-0f36885649ab/signaling 200 34ms","method":"POST","requestID":"791e2160-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6f9704b940f1023c6efa0576f75d7a3c","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"79239fa0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.287190985Z"}]},"request_id":"ce8817fb-6721-4ccb-b140-f29990e3c903","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.731527} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6f9704b940f1023c6efa0576f75d7a3c","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eb2801dd-3852-42a1-ba25-1a234e652fe7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.7342122} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":48,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.566361,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f9704b940f1023c6efa0576f75d7a3c"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"79239fa0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","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":"02/Apr/2025:18:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/44a5adeb-652b-4db4-85f9-0f36885649ab? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f9704b940f1023c6efa0576f75d7a3c"} device-1 | {"level":"info","message":"GET /devices/44a5adeb-652b-4db4-85f9-0f36885649ab? 200 14ms","method":"GET","requestID":"6f9704b940f1023c6efa0576f75d7a3c","responseTime":14,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"79239fa0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"79239fa0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/signaling 200 9ms","method":"POST","requestID":"79239fa0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMn0.ISsEuX5-n2JsWA-PQKPkFURHc7wSD36s4MBq8RWgMcA","level":"info","message":"auth send jwt","requestID":"9ae8cfec5bc95897143824bc10866daa"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9ae8cfec5bc95897143824bc10866daa","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Building connection plan","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"3bf6ba5f-50da-451a-8faa-7bf662c5e940"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f0426ae7-3e75-4ce3-b66a-67039f918460"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"75c02593-197e-4a17-a0ff-2ecb20e85b33"}]},"level":"info","message":"Built pairwise service configurations","requestID":"17815b099f86202f39b0993f9f59dbc6"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"17815b099f86202f39b0993f9f59dbc6"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9ae8cfec5bc95897143824bc10866daa"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"79259b70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Received request.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49320","level":"info","msg":"Sent response.","req_id":49,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.928104,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9ae8cfec5bc95897143824bc10866daa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620312,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMn0.ISsEuX5-n2JsWA-PQKPkFURHc7wSD36s4MBq8RWgMcA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"9ae8cfec5bc95897143824bc10866daa","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":50,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.625262,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"79259b70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620311,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxMX0.WUP_gp_H756vwJop1rkmDsOlvwUpAoHZg4ZInt4ZyJU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"79259b70-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:29.383221835Z"}]},"request_id":"9bf7fc2a-3e94-485d-9274-7359a1d99276","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.773523} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9ae8cfec5bc95897143824bc10866daa","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9ae8cfec5bc95897143824bc10866daa"} gateway-1 | {"time_local":"02/Apr/2025:18:58:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0? 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":"9ae8cfec5bc95897143824bc10866daa"} device-1 | {"level":"info","message":"GET /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0? 200 36ms","method":"GET","requestID":"9ae8cfec5bc95897143824bc10866daa","responseTime":36,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"aa9bf538-e4f6-4a97-b661-03e037344370","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.7803092} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e29c09f1-0f99-41f9-bf71-07aafd343e4c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.7806647} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"79259b70-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"79259b70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"79259b70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd'","requestID":"79259b70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd'","requestID":"79259b70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"79259b70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 83ms","method":"POST","requestID":"79259b70-0ff4-11f0-acd3-db29ca75a471","responseTime":83,"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":"79259b70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd","device":"44a5adeb-652b-4db4-85f9-0f36885649ab","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/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"17815b099f86202f39b0993f9f59dbc6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"793a8300-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"device":"44a5adeb-652b-4db4-85f9-0f36885649ab","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"44a5adeb-652b-4db4-85f9-0f36885649ab","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae24a215-a37f-40f8-a348-41af21272be3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.8852952} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":51,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.680972,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"793a8300-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","object_type":"device","rebac_allow":false,"scope_allow":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":"793a8300-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"793a8300-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/44a5adeb-652b-4db4-85f9-0f36885649ab/signaling 200 35ms","method":"POST","requestID":"793a8300-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"79402850-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12f9a9a2-b2fc-473b-80dd-5331cdf3b160","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620312.9217339} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":52,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.373952,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:32Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"79402850-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"79402850-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"79402850-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/signaling 200 9ms","method":"POST","requestID":"79402850-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/signaling"} device-1 | {"device":"745b81c6-af2f-40ac-b91c-22f61ae107b0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"ff613851-9845-4060-8595-4273ab4ec6cd","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8054047496019265442 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:1qxk\r\na=ice-pwd:DtYum7O6lzdZMPw44x0H3kO6\r\na=ice-options:trickle\r\na=fingerprint:sha-256 14:EE:75:9F:6D:BF:0E:5B:70:FF:F0:7A:78:9E:FC:20:BF:55:E0:F3:3B:D9:B2:9E:8D:D4:0F:0E:59:D1:51:5F\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"44a5adeb-652b-4db4-85f9-0f36885649ab","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1494540693 1 udp 2113937151 e2db0159-30c8-45d8-ac1f-f82f443f099f.local 44154 typ host generation 0 ufrag 1qxk network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"44a5adeb-652b-4db4-85f9-0f36885649ab","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"44a5adeb-652b-4db4-85f9-0f36885649ab","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"44a5adeb-652b-4db4-85f9-0f36885649ab","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ff613851-9845-4060-8595-4273ab4ec6cd","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"745b81c6-af2f-40ac-b91c-22f61ae107b0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"745b81c6-af2f-40ac-b91c-22f61ae107b0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"745b81c6-af2f-40ac-b91c-22f61ae107b0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"745b81c6-af2f-40ac-b91c-22f61ae107b0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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":"1f232d8f3af148100fc9b05f8772e330","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"44a5adeb-652b-4db4-85f9-0f36885649ab","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1f232d8f3af148100fc9b05f8772e330","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"745b81c6-af2f-40ac-b91c-22f61ae107b0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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/44a5adeb-652b-4db4-85f9-0f36885649ab"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd"}}},"level":"info","message":"received a callback","requestID":"1f232d8f3af148100fc9b05f8772e330"} device-1 | {"device":"44a5adeb-652b-4db4-85f9-0f36885649ab","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 8ms","method":"POST","requestID":"1f232d8f3af148100fc9b05f8772e330","responseTime":8,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58:34 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.011","http_referrer":"","http_user_agent":"node-fetch","requestID":"1f232d8f3af148100fc9b05f8772e330"} device-1 | {"data":{"peerconnection":"ff613851-9845-4060-8595-4273ab4ec6cd","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"ff613851-9845-4060-8595-4273ab4ec6cd","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/ff613851-9845-4060-8595-4273ab4ec6cd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ff613851-9845-4060-8595-4273ab4ec6cd","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f759158823e825b92d09581450223299","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f759158823e825b92d09581450223299","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/44a5adeb-652b-4db4-85f9-0f36885649ab"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd"}}},"level":"info","message":"received a callback","requestID":"f759158823e825b92d09581450223299"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"7a7b1950-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:34Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fff613851-9845-4060-8595-4273ab4ec6cd","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b382d42-cd50-4668-abc8-6054bdcbcbb3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620314.9862964} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":53,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.486375,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:34Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7a7b1950-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd","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":"7a7b1950-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"7a7b1950-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd 200 10ms","method":"GET","requestID":"7a7b1950-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNH0.5bfTsNLEo10F_kzZ_R2N-karrWDw2NPOWJ2P9SCEVqM","level":"info","message":"auth send jwt","requestID":"00b27bbc5baa3f248aa63cec501da7de"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"00b27bbc5baa3f248aa63cec501da7de","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202","requestID":"00b27bbc5baa3f248aa63cec501da7de"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":54,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.854734,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"00b27bbc5baa3f248aa63cec501da7de","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620314,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNH0.5bfTsNLEo10F_kzZ_R2N-karrWDw2NPOWJ2P9SCEVqM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"00b27bbc5baa3f248aa63cec501da7de","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 81ms","method":"POST","requestID":"f759158823e825b92d09581450223299","responseTime":81,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.083","http_referrer":"","http_user_agent":"node-fetch","requestID":"f759158823e825b92d09581450223299"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7a832fa0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202","requestID":"00b27bbc5baa3f248aa63cec501da7de"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:35Z"} gateway-1 | {"time_local":"02/Apr/2025:18:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"00b27bbc5baa3f248aa63cec501da7de"} experiment-1 | {"level":"info","message":"GET /experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202 200 40ms","method":"GET","requestID":"00b27bbc5baa3f248aa63cec501da7de","responseTime":40,"status":200,"url":"/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"36fd890c-1ac7-4db5-9a46-90290c57f76a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.039252} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":55,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.924555,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7a832fa0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7a832fa0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNX0.9Z-TUmLJ_pi5ixeqLH-Ss_W1EOU6u9Q3VGzle7L6sRI","level":"info","message":"auth send jwt","requestID":"51725d8ecc6cdf3e316be74705d9b1b9"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202","requestID":"51725d8ecc6cdf3e316be74705d9b1b9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51725d8ecc6cdf3e316be74705d9b1b9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7a832fa0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/44a5adeb-652b-4db4-85f9-0f36885649ab/signaling 200 11ms","method":"POST","requestID":"7a832fa0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab/signaling"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:35Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7a852b70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":56,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.838535,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"51725d8ecc6cdf3e316be74705d9b1b9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620315,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNX0.9Z-TUmLJ_pi5ixeqLH-Ss_W1EOU6u9Q3VGzle7L6sRI"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"51725d8ecc6cdf3e316be74705d9b1b9","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"27052d04-06c5-4552-ab86-849f0a825eac","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.0773268} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":57,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.098065,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7a852b70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7a852b70-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Attempting to finish experiment","requestID":"51725d8ecc6cdf3e316be74705d9b1b9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7a8a82a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7a852b70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/signaling 200 37ms","method":"POST","requestID":"7a852b70-0ff4-11f0-acd3-db29ca75a471","responseTime":37,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/signaling"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":58,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.792062,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7a8a82a0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620315,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNX0.9Z-TUmLJ_pi5ixeqLH-Ss_W1EOU6u9Q3VGzle7L6sRI"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7a8a82a0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd","device":"44a5adeb-652b-4db4-85f9-0f36885649ab","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"745b81c6-af2f-40ac-b91c-22f61ae107b0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"745b81c6-af2f-40ac-b91c-22f61ae107b0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"745b81c6-af2f-40ac-b91c-22f61ae107b0","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/ff613851-9845-4060-8595-4273ab4ec6cd' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ff613851-9845-4060-8595-4273ab4ec6cd","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fff613851-9845-4060-8595-4273ab4ec6cd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fff613851-9845-4060-8595-4273ab4ec6cd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"0c5b5ec7-51a6-47c7-8b40-e06fd3dccbad","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.1217153} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dc471537-94ff-4735-8382-1997b702892f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.1220455} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2147e0c9ef47422b7bffdfb54c7573be","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"7a8a82a0-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2147e0c9ef47422b7bffdfb54c7573be","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ef9d1d1ba9d75f4b1aa14fb5694040aa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"ef9d1d1ba9d75f4b1aa14fb5694040aa","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/44a5adeb-652b-4db4-85f9-0f36885649ab"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd"}}},"level":"info","message":"received a callback","requestID":"2147e0c9ef47422b7bffdfb54c7573be"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd"}}},"level":"info","message":"received a callback","requestID":"ef9d1d1ba9d75f4b1aa14fb5694040aa"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7a8a82a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd 204 56ms","method":"DELETE","requestID":"7a8a82a0-0ff4-11f0-acd3-db29ca75a471","responseTime":56,"status":204,"url":"/peerconnections/ff613851-9845-4060-8595-4273ab4ec6cd"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"},"level":"info","message":"Successfully finished experiment","requestID":"51725d8ecc6cdf3e316be74705d9b1b9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7a98da80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F44a5adeb-652b-4db4-85f9-0f36885649ab","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"13c4b133-f29d-40cd-8c3f-3d1f0e8261cc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.1804528} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":59,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.383132,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7a98da80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7a98da80-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7a98da80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/44a5adeb-652b-4db4-85f9-0f36885649ab/signaling 200 8ms","method":"POST","requestID":"7a98da80-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/devices/44a5adeb-652b-4db4-85f9-0f36885649ab/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7a9a8830-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F62d510b9-14a3-4bd8-ac06-16d381d7f202': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F62d510b9-14a3-4bd8-ac06-16d381d7f202","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"dd410a89-f40f-4e7b-989e-a415364bf997","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.1899853} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"879387e7-ba8f-469a-a66f-72825534b8b5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.1901348} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"51725d8ecc6cdf3e316be74705d9b1b9","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F745b81c6-af2f-40ac-b91c-22f61ae107b0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"245746c2-4a03-46f1-bd02-77be43049198","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.2173438} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":60,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.352963,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7a9a8830-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0","object_type":"device","rebac_allow":false,"scope_allow":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":"7a9a8830-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7a9a8830-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/signaling 200 36ms","method":"POST","requestID":"7a9a8830-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202","requestID":"51725d8ecc6cdf3e316be74705d9b1b9"} gateway-1 | {"time_local":"02/Apr/2025:18:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"51725d8ecc6cdf3e316be74705d9b1b9"} experiment-1 | {"level":"info","message":"DELETE /experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202 204 243ms","method":"DELETE","requestID":"51725d8ecc6cdf3e316be74705d9b1b9","responseTime":243,"status":204,"url":"/experiments/62d510b9-14a3-4bd8-ac06-16d381d7f202"} gateway-1 | {"time_local":"02/Apr/2025:18:58:35 +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.617","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"9a818b499b22cc3cda3e30738f28f64e"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"2147e0c9ef47422b7bffdfb54c7573be","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"2147e0c9ef47422b7bffdfb54c7573be"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 188ms","method":"POST","requestID":"ef9d1d1ba9d75f4b1aa14fb5694040aa","responseTime":188,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.193","http_referrer":"","http_user_agent":"node-fetch","requestID":"ef9d1d1ba9d75f4b1aa14fb5694040aa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNX0.9Z-TUmLJ_pi5ixeqLH-Ss_W1EOU6u9Q3VGzle7L6sRI","level":"info","message":"auth send jwt","requestID":"f3a4b29bc22285f68e0ae28b0a847eec"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f3a4b29bc22285f68e0ae28b0a847eec","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f3a4b29bc22285f68e0ae28b0a847eec"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":61,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.857996,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:35Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/745b81c6-af2f-40ac-b91c-22f61ae107b0' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f3a4b29bc22285f68e0ae28b0a847eec","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620315,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNX0.9Z-TUmLJ_pi5ixeqLH-Ss_W1EOU6u9Q3VGzle7L6sRI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f3a4b29bc22285f68e0ae28b0a847eec","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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":"3.468","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"230620620ca273647462238ba5ff11d4"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/44a5adeb-652b-4db4-85f9-0f36885649ab' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"074cc21f-98c6-44fe-add3-dec39c673521","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.368803} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f3a4b29bc22285f68e0ae28b0a847eec","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98626168-6e98-4b16-b9eb-5568efb84767","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.3745942} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f3a4b29bc22285f68e0ae28b0a847eec","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"85f84e67-405e-484a-a24e-8d1668bb3e57","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.3868263} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"66541d9f-f0f7-4d6d-9028-91f73881a4f7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.3871655} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"f3a4b29bc22285f68e0ae28b0a847eec","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.386815516Z"}]},"request_id":"08ff2fdb-f244-4650-9f50-fe753b06b0d9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.4127944} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f3a4b29bc22285f68e0ae28b0a847eec","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f3a4b29bc22285f68e0ae28b0a847eec"} gateway-1 | {"time_local":"02/Apr/2025:18:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.102","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f3a4b29bc22285f68e0ae28b0a847eec"} device-1 | {"level":"info","message":"POST /devices? 201 97ms","method":"POST","requestID":"f3a4b29bc22285f68e0ae28b0a847eec","responseTime":97,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNX0.9Z-TUmLJ_pi5ixeqLH-Ss_W1EOU6u9Q3VGzle7L6sRI","level":"info","message":"auth send jwt","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":62,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.650873,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:35Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620315,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNX0.9Z-TUmLJ_pi5ixeqLH-Ss_W1EOU6u9Q3VGzle7L6sRI"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"83c9362c-8473-4289-bd69-280d79e28948","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.4646614} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ce8dfa5d-62bc-47f8-ba7f-e62f029b174b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.4698982} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"1557b65a-c7ef-48ce-ace5-523415b0bc0c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.4803193} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e40263b1-421c-45aa-b5ce-dbf02ec55929","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.4805074} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.480304702Z"}]},"request_id":"536606f3-525b-49ca-88f5-df465da88b47","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620315.5094914} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e"} gateway-1 | {"time_local":"02/Apr/2025:18:58:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e"} device-1 | {"level":"info","message":"POST /devices? 201 90ms","method":"POST","requestID":"bb3595fb9c17d4baffd92e8cdbf23a0e","responseTime":90,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNn0.3YvjUrUJ8r7OBD9aMRxu0B11IL_IbPE8U9S7S5xzuxY","level":"info","message":"auth send jwt","requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":63,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.668158,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620316,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNn0.3YvjUrUJ8r7OBD9aMRxu0B11IL_IbPE8U9S7S5xzuxY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.386815516Z"}]},"request_id":"04889471-067c-4989-bb46-3070648d37a2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620316.515056} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f28cf517-4123-4273-8f14-80155e05c652","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620316.5198545} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.386815516Z"}]},"request_id":"8d1efb69-5bb6-4e89-92dd-6890e85bdf4b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620316.5318878} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1"} gateway-1 | {"time_local":"02/Apr/2025:18:58:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8d383ad4-1151-4be8-a145-c0206ede1700 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1"} device-1 | {"level":"info","message":"PATCH /devices/8d383ad4-1151-4be8-a145-c0206ede1700 200 53ms","method":"PATCH","requestID":"2610a4f80a0f555ee0fcc307e3e0fbc1","responseTime":53,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNn0.3YvjUrUJ8r7OBD9aMRxu0B11IL_IbPE8U9S7S5xzuxY","level":"info","message":"auth send jwt","requestID":"69adc261af3a1b05b27783ddaca4550a"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"69adc261af3a1b05b27783ddaca4550a","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"69adc261af3a1b05b27783ddaca4550a"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:36Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":64,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.819051,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:36Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"69adc261af3a1b05b27783ddaca4550a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620316,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxNn0.3YvjUrUJ8r7OBD9aMRxu0B11IL_IbPE8U9S7S5xzuxY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"69adc261af3a1b05b27783ddaca4550a","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"69adc261af3a1b05b27783ddaca4550a"} gateway-1 | {"time_local":"02/Apr/2025:18:58:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8d383ad4-1151-4be8-a145-c0206ede1700/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.16","requestID":"69adc261af3a1b05b27783ddaca4550a"} device-1 | {"level":"info","message":"POST /devices/8d383ad4-1151-4be8-a145-c0206ede1700/websocket 200 15ms","method":"POST","requestID":"69adc261af3a1b05b27783ddaca4550a","responseTime":15,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"64782f7638bf4cbf75b8ef6913d76cae","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"64782f7638bf4cbf75b8ef6913d76cae","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:58:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"64782f7638bf4cbf75b8ef6913d76cae"} device-1 | {"level":"info","message":"OPTIONS /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/websocket 200 1ms","method":"OPTIONS","requestID":"64782f7638bf4cbf75b8ef6913d76cae","responseTime":1,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxN30.kDOew_SrN1mzGTfqE5eTpWmUsEUxWk798eoB9uY9d0Q","level":"info","message":"auth send jwt","requestID":"ee81de47bd4e52e41ba4ab71169d2b9b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee81de47bd4e52e41ba4ab71169d2b9b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"ee81de47bd4e52e41ba4ab71169d2b9b"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:37Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":65,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699105,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ee81de47bd4e52e41ba4ab71169d2b9b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620317,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxN30.kDOew_SrN1mzGTfqE5eTpWmUsEUxWk798eoB9uY9d0Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ee81de47bd4e52e41ba4ab71169d2b9b","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"ee81de47bd4e52e41ba4ab71169d2b9b"} gateway-1 | {"time_local":"02/Apr/2025:18:58:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/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":"ee81de47bd4e52e41ba4ab71169d2b9b"} device-1 | {"level":"info","message":"POST /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/websocket 200 45ms","method":"POST","requestID":"ee81de47bd4e52e41ba4ab71169d2b9b","responseTime":45,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74' connected"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"51c079321e626bd376a7bce893064a63"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4","level":"info","message":"auth send jwt","requestID":"51c079321e626bd376a7bce893064a63"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"51c079321e626bd376a7bce893064a63","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":66,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.840805,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"51c079321e626bd376a7bce893064a63","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620318,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"51c079321e626bd376a7bce893064a63","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.386815516Z"}]},"request_id":"1d19e754-2cb9-44ba-ac4e-041de7d56651","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.0179937} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"51c079321e626bd376a7bce893064a63","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"51c079321e626bd376a7bce893064a63"} gateway-1 | {"time_local":"02/Apr/2025:18:58:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d383ad4-1151-4be8-a145-c0206ede1700? 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":"51c079321e626bd376a7bce893064a63"} device-1 | {"level":"info","message":"GET /devices/8d383ad4-1151-4be8-a145-c0206ede1700? 200 13ms","method":"GET","requestID":"51c079321e626bd376a7bce893064a63","responseTime":13,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4","level":"info","message":"auth send jwt","requestID":"aaec9d9ce383e1bd17501e407a87ad53"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aaec9d9ce383e1bd17501e407a87ad53","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aaec9d9ce383e1bd17501e407a87ad53"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":67,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.673328,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aaec9d9ce383e1bd17501e407a87ad53","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620318,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"aaec9d9ce383e1bd17501e407a87ad53","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.480304702Z"}]},"request_id":"2aff4557-abc4-4dec-b596-54332df2c527","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.0598583} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aaec9d9ce383e1bd17501e407a87ad53","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aaec9d9ce383e1bd17501e407a87ad53"} gateway-1 | {"time_local":"02/Apr/2025:18:58:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74? 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":"aaec9d9ce383e1bd17501e407a87ad53"} device-1 | {"level":"info","message":"GET /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74? 200 36ms","method":"GET","requestID":"aaec9d9ce383e1bd17501e407a87ad53","responseTime":36,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4","level":"info","message":"auth send jwt","requestID":"59510d190026676efa8f4ec21d3b81e1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"59510d190026676efa8f4ec21d3b81e1","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"59510d190026676efa8f4ec21d3b81e1"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":68,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.731457,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"59510d190026676efa8f4ec21d3b81e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620318,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"59510d190026676efa8f4ec21d3b81e1","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Attempting to run experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Attempting to book experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Successfully booked experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7c60a230-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7c60c940-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":69,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830699,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c60a230-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620318,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7c60a230-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":70,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.844891,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c60c940-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620318,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"7c60c940-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.386815516Z"}]},"request_id":"69aa7690-2cd9-47df-8f72-d2dea27f7151","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.197129} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"7c60a230-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.480304702Z"}]},"request_id":"23617a28-d8c5-48df-8180-3fedf90f099a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.205332} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7c60c940-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7c60a230-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/8d383ad4-1151-4be8-a145-c0206ede1700? 200 46ms","method":"GET","requestID":"7c60a230-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7c60c940-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74? 200 48ms","method":"GET","requestID":"7c60c940-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Setting up experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Successfully locked booking for experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Attempting to update booking for experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Successfully updated booking for experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Successfully set up experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7c7bcb50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7c7c1970-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Successfully running experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7c7c4080-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":71,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.665053,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c7bcb50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620318,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7c7bcb50-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":72,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854966,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c7c1970-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620318,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7c7c1970-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"230e8d3c-dfc6-44c8-8f97-14ea51a0d8c4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.3523955} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":73,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.847671,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c7c4080-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","object_type":"device","rebac_allow":false,"scope_allow":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":"7c7c4080-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.386815516Z"}]},"request_id":"8475d134-6d56-450a-93a5-65bc005403f6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.35415} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.480304702Z"}]},"request_id":"d6e12a7e-8085-442d-8b52-6b1dba7d15bd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.3553352} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"7c7bcb50-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7c7c1970-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1ff65125-7221-44c8-91cc-137bd65bbca6#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1ff65125-7221-44c8-91cc-137bd65bbca6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"6dce1001-0b54-4023-a643-f9237247e654","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.3600044} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9ed483de-3e85-4158-aa4d-895bbd65b94c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.3603106} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7c7bcb50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/8d383ad4-1151-4be8-a145-c0206ede1700? 200 22ms","method":"GET","requestID":"7c7bcb50-0ff4-11f0-acd3-db29ca75a471","responseTime":22,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7c7c4080-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8d383ad4-1151-4be8-a145-c0206ede1700/signaling 200 19ms","method":"POST","requestID":"7c7c4080-0ff4-11f0-acd3-db29ca75a471","responseTime":19,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7c7c1970-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74? 200 46ms","method":"GET","requestID":"7c7c1970-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"59510d190026676efa8f4ec21d3b81e1","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7c834560-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7c839380-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1666357b-61c9-4341-8b1d-031083b641b3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.3958068} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":74,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.027211,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c834560-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7c834560-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"59510d190026676efa8f4ec21d3b81e1"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"baa05630-e652-4b44-8d76-3dc0165932b1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.3996465} gateway-1 | {"time_local":"02/Apr/2025:18:58:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.335","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"59510d190026676efa8f4ec21d3b81e1"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":75,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.522776,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 332ms","method":"POST","requestID":"59510d190026676efa8f4ec21d3b81e1","responseTime":332,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c839380-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","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":"7c834560-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"7c839380-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/signaling 200 13ms","method":"POST","requestID":"7c834560-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4","level":"info","message":"auth send jwt","requestID":"8ccd3a45fedd9f6dfdba4de76b4b3209"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8ccd3a45fedd9f6dfdba4de76b4b3209","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7c839380-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8d383ad4-1151-4be8-a145-c0206ede1700/signaling 200 16ms","method":"POST","requestID":"7c839380-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8ccd3a45fedd9f6dfdba4de76b4b3209"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7c8679b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":76,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691506,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8ccd3a45fedd9f6dfdba4de76b4b3209","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620318,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"8ccd3a45fedd9f6dfdba4de76b4b3209","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee0f9d22-875c-4e70-84cb-dd0ec4e4e258","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.440589} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":77,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.541239,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c8679b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7c8679b0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.386815516Z"}]},"request_id":"f6e1efcf-a1da-4277-b0b8-1b6fca3db85e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.4417865} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8ccd3a45fedd9f6dfdba4de76b4b3209","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7c8679b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/signaling 200 35ms","method":"POST","requestID":"7c8679b0-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8ccd3a45fedd9f6dfdba4de76b4b3209"} device-1 | {"level":"info","message":"GET /devices/8d383ad4-1151-4be8-a145-c0206ede1700? 200 38ms","method":"GET","requestID":"8ccd3a45fedd9f6dfdba4de76b4b3209","responseTime":38,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700?"} gateway-1 | {"time_local":"02/Apr/2025:18:58:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d383ad4-1151-4be8-a145-c0206ede1700? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8ccd3a45fedd9f6dfdba4de76b4b3209"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Building connection plan","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"68fa57fc-c428-4846-bde9-bb18a13b9e7d"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"e2e473fa-dbdf-4edd-beee-c67dcf59a406"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"37eab508-a726-4db9-997f-97ad48d2044c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"59510d190026676efa8f4ec21d3b81e1"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"59510d190026676efa8f4ec21d3b81e1"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4","level":"info","message":"auth send jwt","requestID":"def8ab3471bea95efd1f321359ab9f9f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"def8ab3471bea95efd1f321359ab9f9f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"def8ab3471bea95efd1f321359ab9f9f"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":78,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.872668,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620318,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":79,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7518,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"def8ab3471bea95efd1f321359ab9f9f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620318,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMxOH0.GRUI6oTkXuPEfNBFLDu7PFeK8qWBDRAhf-ZIgh51rb4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"def8ab3471bea95efd1f321359ab9f9f","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:35.480304702Z"}]},"request_id":"f1430987-74cc-4540-aa0a-3cbc2cec3e6a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.4843643} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"def8ab3471bea95efd1f321359ab9f9f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"def8ab3471bea95efd1f321359ab9f9f"} gateway-1 | {"time_local":"02/Apr/2025:18:58:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74? 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":"def8ab3471bea95efd1f321359ab9f9f"} device-1 | {"level":"info","message":"GET /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74? 200 36ms","method":"GET","requestID":"def8ab3471bea95efd1f321359ab9f9f","responseTime":36,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"cb99ef5e-3ee6-4eef-8567-29567fb29cc5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.4891868} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b3f27a1b-3170-49db-9cc0-8f3da09e4f20","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.4896088} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d'","requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d'","requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 82ms","method":"POST","requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471","responseTime":82,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"7c8c6d20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d","device":"f9a2f66d-789b-48b5-acc7-1198e2446a74","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":"f9a2f66d-789b-48b5-acc7-1198e2446a74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f9a2f66d-789b-48b5-acc7-1198e2446a74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"59510d190026676efa8f4ec21d3b81e1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ca1a2d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"content":{"sdp":"v=0\r\no=- 1788510854761695568 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:8gh4\r\na=ice-pwd:OPx8KRTwzNqHRNoI14xdqQAg\r\na=ice-options:trickle\r\na=fingerprint:sha-256 4B:2B:D3:A2:A0:98:02:32:EE:4E:A7:97:B4:52:09:D8:DD:8A:D4:9F:19:1F:82:08:47:BD:A8:CD:15:AC:83:4B\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"f9a2f66d-789b-48b5-acc7-1198e2446a74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5b56e452-aa09-4a39-9eb0-2f8e85ba9de0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.5942159} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":80,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.544432,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7ca1a2d0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7ca1a2d0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ca1a2d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8d383ad4-1151-4be8-a145-c0206ede1700/signaling 200 9ms","method":"POST","requestID":"7ca1a2d0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7ca35080-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4e1d3b84-ea46-49f9-8f0c-fd4dbe598910","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620318.6317267} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":81,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.28195,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:38Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7ca35080-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7ca35080-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7ca35080-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/signaling 200 36ms","method":"POST","requestID":"7ca35080-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/signaling"} device-1 | {"device":"f9a2f66d-789b-48b5-acc7-1198e2446a74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"8d383ad4-1151-4be8-a145-c0206ede1700","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"1fc66972-e8ba-4a3b-99ea-0294d9ec570d","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8d383ad4-1151-4be8-a145-c0206ede1700","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d383ad4-1151-4be8-a145-c0206ede1700","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d383ad4-1151-4be8-a145-c0206ede1700","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d383ad4-1151-4be8-a145-c0206ede1700","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/1fc66972-e8ba-4a3b-99ea-0294d9ec570d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1fc66972-e8ba-4a3b-99ea-0294d9ec570d","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b7941dec67a3da038222d601d1c7c097","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b7941dec67a3da038222d601d1c7c097","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/8d383ad4-1151-4be8-a145-c0206ede1700"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d"}}},"level":"info","message":"received a callback","requestID":"b7941dec67a3da038222d601d1c7c097"} device-1 | {"content":{"candidate":"candidate:2061764666 1 udp 2113937151 617a37a7-e5ef-4221-8ff3-3411b9515b5c.local 33033 typ host generation 0 ufrag 8gh4 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f9a2f66d-789b-48b5-acc7-1198e2446a74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"f9a2f66d-789b-48b5-acc7-1198e2446a74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 31ms","method":"POST","requestID":"b7941dec67a3da038222d601d1c7c097","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.034","http_referrer":"","http_user_agent":"node-fetch","requestID":"b7941dec67a3da038222d601d1c7c097"} device-1 | {"data":{"peerconnection":"1fc66972-e8ba-4a3b-99ea-0294d9ec570d","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"8d383ad4-1151-4be8-a145-c0206ede1700","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d383ad4-1151-4be8-a145-c0206ede1700","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f9a2f66d-789b-48b5-acc7-1198e2446a74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"1fc66972-e8ba-4a3b-99ea-0294d9ec570d","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/1fc66972-e8ba-4a3b-99ea-0294d9ec570d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1fc66972-e8ba-4a3b-99ea-0294d9ec570d","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0566e82db03852bcf15bf2e9c7ed14b4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0566e82db03852bcf15bf2e9c7ed14b4","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/8d383ad4-1151-4be8-a145-c0206ede1700"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d"}}},"level":"info","message":"received a callback","requestID":"0566e82db03852bcf15bf2e9c7ed14b4"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"7dea9d90-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1fc66972-e8ba-4a3b-99ea-0294d9ec570d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55b759c6-3b38-46ef-8e50-e9a1047ddb38","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620320.7493765} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":82,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.275193,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7dea9d90-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d","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":"7dea9d90-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"7dea9d90-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d 200 9ms","method":"GET","requestID":"7dea9d90-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"0566e82db03852bcf15bf2e9c7ed14b4","responseTime":54,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMH0.t3CM4BhHQQDujlVHdH-PoRG0XJ7czijzvV4w_e6p6oo","level":"info","message":"auth send jwt","requestID":"2d35f11604857480ef76a5c3ec12cc93"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7df23eb0-0ff4-11f0-acd3-db29ca75a471"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.058","http_referrer":"","http_user_agent":"node-fetch","requestID":"0566e82db03852bcf15bf2e9c7ed14b4"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/1ff65125-7221-44c8-91cc-137bd65bbca6","requestID":"2d35f11604857480ef76a5c3ec12cc93"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2d35f11604857480ef76a5c3ec12cc93","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":83,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.882853,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2d35f11604857480ef76a5c3ec12cc93","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620320,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMH0.t3CM4BhHQQDujlVHdH-PoRG0XJ7czijzvV4w_e6p6oo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2d35f11604857480ef76a5c3ec12cc93","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5f00cc14-deb0-49f4-9197-fc9f13377b0e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620320.800893} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":84,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.427322,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7df23eb0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","object_type":"device","rebac_allow":false,"scope_allow":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":"7df23eb0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/1ff65125-7221-44c8-91cc-137bd65bbca6","requestID":"2d35f11604857480ef76a5c3ec12cc93"} gateway-1 | {"time_local":"02/Apr/2025:18:58:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/1ff65125-7221-44c8-91cc-137bd65bbca6 HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2d35f11604857480ef76a5c3ec12cc93"} experiment-1 | {"level":"info","message":"GET /experiments/1ff65125-7221-44c8-91cc-137bd65bbca6 200 11ms","method":"GET","requestID":"2d35f11604857480ef76a5c3ec12cc93","responseTime":11,"status":200,"url":"/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7df23eb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8d383ad4-1151-4be8-a145-c0206ede1700/signaling 200 12ms","method":"POST","requestID":"7df23eb0-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7df46190-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:40Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMH0.t3CM4BhHQQDujlVHdH-PoRG0XJ7czijzvV4w_e6p6oo","level":"info","message":"auth send jwt","requestID":"62f379c644fed9550e4a8fa56997f219"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"62f379c644fed9550e4a8fa56997f219","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/1ff65125-7221-44c8-91cc-137bd65bbca6","requestID":"62f379c644fed9550e4a8fa56997f219"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d3c94349-de8a-4191-b1fd-3130819bb7b2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620320.8389015} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":85,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.600975,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7df46190-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","object_type":"device","rebac_allow":false,"scope_allow":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":"7df46190-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":86,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.644351,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"62f379c644fed9550e4a8fa56997f219","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620320,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMH0.t3CM4BhHQQDujlVHdH-PoRG0XJ7czijzvV4w_e6p6oo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"62f379c644fed9550e4a8fa56997f219","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7df46190-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/signaling 200 35ms","method":"POST","requestID":"7df46190-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Attempting to finish experiment","requestID":"62f379c644fed9550e4a8fa56997f219"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"7dfa7c10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":87,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.868513,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7dfa7c10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620320,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMH0.t3CM4BhHQQDujlVHdH-PoRG0XJ7czijzvV4w_e6p6oo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7dfa7c10-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"8d383ad4-1151-4be8-a145-c0206ede1700","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d383ad4-1151-4be8-a145-c0206ede1700","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8d383ad4-1151-4be8-a145-c0206ede1700","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/1fc66972-e8ba-4a3b-99ea-0294d9ec570d' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"1fc66972-e8ba-4a3b-99ea-0294d9ec570d","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"23165b1219154fd35d17543e0884eed8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"23165b1219154fd35d17543e0884eed8","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f98dc3b562508a783ed61e62de60a980","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f98dc3b562508a783ed61e62de60a980","responseTime":1,"status":200,"url":"/auth"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d","device":"f9a2f66d-789b-48b5-acc7-1198e2446a74","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} 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/8d383ad4-1151-4be8-a145-c0206ede1700"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d"}}},"level":"info","message":"received a callback","requestID":"23165b1219154fd35d17543e0884eed8"} 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/8d383ad4-1151-4be8-a145-c0206ede1700"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d"}}},"level":"info","message":"received a callback","requestID":"f98dc3b562508a783ed61e62de60a980"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1fc66972-e8ba-4a3b-99ea-0294d9ec570d': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F1fc66972-e8ba-4a3b-99ea-0294d9ec570d","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"474f81ce-960c-438d-8971-21cd21d205c0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620320.9397848} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d74e532-defc-4c6f-a4e3-3260dcb1c9aa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620320.9412103} authorization-1 | {"level":"info","message":"POST /relations/update 200 50ms","method":"POST","requestID":"7dfa7c10-0ff4-11f0-acd3-db29ca75a471","responseTime":50,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"7dfa7c10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d 204 128ms","method":"DELETE","requestID":"7dfa7c10-0ff4-11f0-acd3-db29ca75a471","responseTime":128,"status":204,"url":"/peerconnections/1fc66972-e8ba-4a3b-99ea-0294d9ec570d"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"},"level":"info","message":"Successfully finished experiment","requestID":"62f379c644fed9550e4a8fa56997f219"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7e164170-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:41Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d383ad4-1151-4be8-a145-c0206ede1700","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ab15b668-8a2b-4fcb-b28c-6e426cccb78d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.0355184} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":88,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.67963,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7e164170-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7e164170-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7e164170-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8d383ad4-1151-4be8-a145-c0206ede1700/signaling 200 9ms","method":"POST","requestID":"7e164170-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/8d383ad4-1151-4be8-a145-c0206ede1700/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7e17ef20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1ff65125-7221-44c8-91cc-137bd65bbca6': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F1ff65125-7221-44c8-91cc-137bd65bbca6","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"21384068-e322-42f6-aa69-352f732a9e4a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.0435424} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f1f78bc4-0e54-470a-9fdb-b703134d41c8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.0439005} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"62f379c644fed9550e4a8fa56997f219","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:41Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff9a2f66d-789b-48b5-acc7-1198e2446a74","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7c059f23-caac-467f-96da-4c6d127798dc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.0482292} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":89,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.965912,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7e17ef20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74","object_type":"device","rebac_allow":false,"scope_allow":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":"7e17ef20-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7e17ef20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/signaling 200 35ms","method":"POST","requestID":"7e17ef20-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/1ff65125-7221-44c8-91cc-137bd65bbca6","requestID":"62f379c644fed9550e4a8fa56997f219"} gateway-1 | {"time_local":"02/Apr/2025:18:58:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/1ff65125-7221-44c8-91cc-137bd65bbca6 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.338","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"62f379c644fed9550e4a8fa56997f219"} gateway-1 | {"time_local":"02/Apr/2025:18:58:41 +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.590","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"a46c7bb312af784b0935cf721b2722dc"} experiment-1 | {"level":"info","message":"DELETE /experiments/1ff65125-7221-44c8-91cc-137bd65bbca6 204 332ms","method":"DELETE","requestID":"62f379c644fed9550e4a8fa56997f219","responseTime":332,"status":204,"url":"/experiments/1ff65125-7221-44c8-91cc-137bd65bbca6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 242ms","method":"POST","requestID":"23165b1219154fd35d17543e0884eed8","responseTime":242,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.247","http_referrer":"","http_user_agent":"node-fetch","requestID":"23165b1219154fd35d17543e0884eed8"} gateway-1 | {"time_local":"02/Apr/2025:18:58:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2543","request_time":"3.214","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d2b096686ec4c71c98ee4c5bab2684b5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMX0.bdxbbrx5b10wPcoiOJk4jiFAW3WDjAL5o7g5Lt583bw","level":"info","message":"auth send jwt","requestID":"a970ad5ab1f39bb47e0b087c58370501"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a970ad5ab1f39bb47e0b087c58370501","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 246ms","method":"POST","requestID":"f98dc3b562508a783ed61e62de60a980","responseTime":246,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.253","http_referrer":"","http_user_agent":"node-fetch","requestID":"f98dc3b562508a783ed61e62de60a980"} device-1 | {"level":"info","message":"postDevices called","requestID":"a970ad5ab1f39bb47e0b087c58370501"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:41Z"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f9a2f66d-789b-48b5-acc7-1198e2446a74' closed"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":90,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.86789,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a970ad5ab1f39bb47e0b087c58370501","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620321,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMX0.bdxbbrx5b10wPcoiOJk4jiFAW3WDjAL5o7g5Lt583bw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a970ad5ab1f39bb47e0b087c58370501","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8d383ad4-1151-4be8-a145-c0206ede1700' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"66df74fe-ce15-4f17-99fe-f2b17d935307","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.2358432} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a970ad5ab1f39bb47e0b087c58370501","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a96f5269-12ae-44d2-821c-05c2188a3cd1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.2653463} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"a970ad5ab1f39bb47e0b087c58370501","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"d9b1e609-8607-48f6-8e39-4a28cf983a15","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.2744448} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5c135342-a394-4be1-8b4c-4cd933a8ec17","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.2746897} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"a970ad5ab1f39bb47e0b087c58370501","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.274432249Z"}]},"request_id":"289bc0e1-f697-4f08-ad90-c3020b36d69e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.2812197} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a970ad5ab1f39bb47e0b087c58370501","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a970ad5ab1f39bb47e0b087c58370501"} gateway-1 | {"time_local":"02/Apr/2025:18:58:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.109","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a970ad5ab1f39bb47e0b087c58370501"} device-1 | {"level":"info","message":"POST /devices? 201 100ms","method":"POST","requestID":"a970ad5ab1f39bb47e0b087c58370501","responseTime":100,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMX0.bdxbbrx5b10wPcoiOJk4jiFAW3WDjAL5o7g5Lt583bw","level":"info","message":"auth send jwt","requestID":"7dac9c11fd2897446fdb165f0e9528a8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7dac9c11fd2897446fdb165f0e9528a8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7dac9c11fd2897446fdb165f0e9528a8"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:41Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":91,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.814757,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7dac9c11fd2897446fdb165f0e9528a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620321,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMX0.bdxbbrx5b10wPcoiOJk4jiFAW3WDjAL5o7g5Lt583bw"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"7dac9c11fd2897446fdb165f0e9528a8","responseTime":23,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5bb5a593-0aaf-4676-aaeb-d5e70410c2d0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.3287365} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7dac9c11fd2897446fdb165f0e9528a8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"786e6e18-76d1-4f5e-b3c0-ad22a8c49890","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.3340266} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"7dac9c11fd2897446fdb165f0e9528a8","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"8ff982d9-7baa-441e-86c1-6eb3c87244f2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.369964} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d2d06f4f-c0f1-4005-ad36-368c123f42ac","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.370129} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"7dac9c11fd2897446fdb165f0e9528a8","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.369949550Z"}]},"request_id":"874b267d-42cd-4f9c-b9da-c3152038a12e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620321.3738139} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7dac9c11fd2897446fdb165f0e9528a8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7dac9c11fd2897446fdb165f0e9528a8"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"7dac9c11fd2897446fdb165f0e9528a8","responseTime":88,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:58:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7dac9c11fd2897446fdb165f0e9528a8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0","level":"info","message":"auth send jwt","requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":92,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.850137,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0","level":"info","message":"auth send jwt","requestID":"e59945cd76952451247576d2251dd035"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e59945cd76952451247576d2251dd035","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e59945cd76952451247576d2251dd035"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":93,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906644,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e59945cd76952451247576d2251dd035","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e59945cd76952451247576d2251dd035","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.274432249Z"}]},"request_id":"193c680a-863a-4473-9fd4-a46c9ef9fbef","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.2896504} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.369949550Z"}]},"request_id":"2e199fe0-fd5a-4291-bade-08c1e7aa8da7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.2915387} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e59945cd76952451247576d2251dd035","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a745c5f-b502-40f4-a371-0f22686f4a04","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.3210413} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d","responseTime":29,"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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"90527220-76b5-4ce1-9258-a13e683fd51f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.3227289} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"e59945cd76952451247576d2251dd035","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.369949550Z"}]},"request_id":"fcd9f89a-24a5-41e8-a720-e9b88c634ac1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.3266096} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e59945cd76952451247576d2251dd035","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e59945cd76952451247576d2251dd035"} gateway-1 | {"time_local":"02/Apr/2025:18:58:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/7a56022a-7ce6-48e2-a722-269068bbefe6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.050","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"e59945cd76952451247576d2251dd035"} device-1 | {"level":"info","message":"PATCH /devices/7a56022a-7ce6-48e2-a722-269068bbefe6 200 45ms","method":"PATCH","requestID":"e59945cd76952451247576d2251dd035","responseTime":45,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0","level":"info","message":"auth send jwt","requestID":"09a3478b8d2cf186873b065a43a96a71"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"09a3478b8d2cf186873b065a43a96a71","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"09a3478b8d2cf186873b065a43a96a71"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":94,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.830766,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"09a3478b8d2cf186873b065a43a96a71","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"09a3478b8d2cf186873b065a43a96a71","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.274432249Z"}]},"request_id":"54e51726-7d81-4ba2-bde3-81c249ad24f2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.3717523} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d"} gateway-1 | {"time_local":"02/Apr/2025:18:58:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/914fd050-6926-46f6-8a41-731469dca8ba HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.099","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d"} device-1 | {"level":"info","message":"PATCH /devices/914fd050-6926-46f6-8a41-731469dca8ba 200 95ms","method":"PATCH","requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d","responseTime":95,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ba120aa4a0b2b94855e3bfbffd8b9f2d","responseTime":4,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0","level":"info","message":"auth send jwt","requestID":"3db8ea2cfdd27460a3a7cf2dceeab2c3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3db8ea2cfdd27460a3a7cf2dceeab2c3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3db8ea2cfdd27460a3a7cf2dceeab2c3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"09a3478b8d2cf186873b065a43a96a71"} gateway-1 | {"time_local":"02/Apr/2025:18:58:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7a56022a-7ce6-48e2-a722-269068bbefe6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.052","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"09a3478b8d2cf186873b065a43a96a71"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} device-1 | {"level":"info","message":"POST /devices/7a56022a-7ce6-48e2-a722-269068bbefe6/websocket 200 49ms","method":"POST","requestID":"09a3478b8d2cf186873b065a43a96a71","responseTime":49,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6/websocket"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":95,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.781926,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3db8ea2cfdd27460a3a7cf2dceeab2c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3db8ea2cfdd27460a3a7cf2dceeab2c3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3db8ea2cfdd27460a3a7cf2dceeab2c3"} gateway-1 | {"time_local":"02/Apr/2025:18:58:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/914fd050-6926-46f6-8a41-731469dca8ba/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.014","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"3db8ea2cfdd27460a3a7cf2dceeab2c3"} device-1 | {"level":"info","message":"POST /devices/914fd050-6926-46f6-8a41-731469dca8ba/websocket 200 10ms","method":"POST","requestID":"3db8ea2cfdd27460a3a7cf2dceeab2c3","responseTime":10,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0","level":"info","message":"auth send jwt","requestID":"a4c32c642e912351d07c3e5a9b6fc7dd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a4c32c642e912351d07c3e5a9b6fc7dd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a4c32c642e912351d07c3e5a9b6fc7dd"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":96,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.705556,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a4c32c642e912351d07c3e5a9b6fc7dd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a4c32c642e912351d07c3e5a9b6fc7dd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.274432249Z"}]},"request_id":"475431bd-31ab-4b63-881a-d9085900062e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.46741} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a4c32c642e912351d07c3e5a9b6fc7dd","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a4c32c642e912351d07c3e5a9b6fc7dd"} gateway-1 | {"time_local":"02/Apr/2025:18:58:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/914fd050-6926-46f6-8a41-731469dca8ba? 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":"a4c32c642e912351d07c3e5a9b6fc7dd"} device-1 | {"level":"info","message":"GET /devices/914fd050-6926-46f6-8a41-731469dca8ba? 200 34ms","method":"GET","requestID":"a4c32c642e912351d07c3e5a9b6fc7dd","responseTime":34,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0","level":"info","message":"auth send jwt","requestID":"fdb9413efc48daf4cb8082f90223a24b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fdb9413efc48daf4cb8082f90223a24b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fdb9413efc48daf4cb8082f90223a24b"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":97,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.743651,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"fdb9413efc48daf4cb8082f90223a24b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fdb9413efc48daf4cb8082f90223a24b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.369949550Z"}]},"request_id":"c76bad28-6a68-4597-9007-e2059f2e2a10","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.4817877} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"fdb9413efc48daf4cb8082f90223a24b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fdb9413efc48daf4cb8082f90223a24b"} gateway-1 | {"time_local":"02/Apr/2025:18:58:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a56022a-7ce6-48e2-a722-269068bbefe6? 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":"fdb9413efc48daf4cb8082f90223a24b"} device-1 | {"level":"info","message":"GET /devices/7a56022a-7ce6-48e2-a722-269068bbefe6? 200 10ms","method":"GET","requestID":"fdb9413efc48daf4cb8082f90223a24b","responseTime":10,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0","level":"info","message":"auth send jwt","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"990b84d7f3a8a5e42a8c98294f281c51","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":98,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.832998,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"990b84d7f3a8a5e42a8c98294f281c51","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"990b84d7f3a8a5e42a8c98294f281c51","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Attempting to run experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Attempting to book experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Successfully booked experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7f01b2e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7f020100-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":99,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.835188,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f01b2e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7f01b2e0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":100,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.43759,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f020100-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7f020100-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.274432249Z"}]},"request_id":"4f1a7b13-2aa2-4ff6-8267-ece028a79e8e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.5839524} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7f01b2e0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7f01b2e0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.369949550Z"}]},"request_id":"9e5af024-15b1-4814-ae96-25ae6125baa1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.6091447} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"7f020100-0ff4-11f0-acd3-db29ca75a471","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/914fd050-6926-46f6-8a41-731469dca8ba? 200 39ms","method":"GET","requestID":"7f01b2e0-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7f020100-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/7a56022a-7ce6-48e2-a722-269068bbefe6? 200 39ms","method":"GET","requestID":"7f020100-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Setting up experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Successfully locked booking for experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Attempting to update booking for experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Successfully updated booking for experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Successfully set up experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7f1784d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7f17abe0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7f17fa00-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Successfully running experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":101,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.062886,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f1784d0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7f1784d0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":102,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.773102,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f17abe0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7f17abe0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.369949550Z"}]},"request_id":"8138641f-1272-4c02-81d7-75b5d13ccb79","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.753346} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.274432249Z"}]},"request_id":"85e27823-f49a-423c-8661-f725cecb8970","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.754596} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"7f17abe0-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"02047b0f-cd6e-486d-99b4-5ba860118a09","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.755025} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7f1784d0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":103,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.546679,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f17fa00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"7f17fa00-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F913e9209-ccfe-4679-8998-c7ed45294151#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F913e9209-ccfe-4679-8998-c7ed45294151","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"6f738f63-aa2f-44bf-8a6a-43bbe59491d7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.759734} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7f17abe0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"52f8ba2e-1474-497e-a02d-5fc2419ff113","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.7600725} device-1 | {"level":"info","message":"GET /devices/7a56022a-7ce6-48e2-a722-269068bbefe6? 200 43ms","method":"GET","requestID":"7f17abe0-0ff4-11f0-acd3-db29ca75a471","responseTime":43,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7f1784d0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"990b84d7f3a8a5e42a8c98294f281c51","responseTime":35,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/914fd050-6926-46f6-8a41-731469dca8ba? 200 45ms","method":"GET","requestID":"7f1784d0-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7f17fa00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/914fd050-6926-46f6-8a41-731469dca8ba/signaling 200 42ms","method":"POST","requestID":"7f17fa00-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7f1efee0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7f1f4d00-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bd07da80-910c-4af5-b306-dc3a23406e40","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.771626} experiment-1 | {"level":"info","message":"POST /experiments? 201 257ms","method":"POST","requestID":"990b84d7f3a8a5e42a8c98294f281c51","responseTime":257,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:58:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"815","request_time":"0.285","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":104,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.275744,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f1efee0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7f1efee0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97b01c8a-8651-4ac2-b52d-f8f444140994","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.773254} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":105,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.869934,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f1f4d00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","rebac_allow":false,"scope_allow":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":"7f1f4d00-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0","level":"info","message":"auth send jwt","requestID":"c3547dbe9f78f5f25b772640617393e1"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"c3547dbe9f78f5f25b772640617393e1","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7f1efee0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/914fd050-6926-46f6-8a41-731469dca8ba/signaling 200 37ms","method":"POST","requestID":"7f1efee0-0ff4-11f0-acd3-db29ca75a471","responseTime":37,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3547dbe9f78f5f25b772640617393e1"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7f251960-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":106,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.046294,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c3547dbe9f78f5f25b772640617393e1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7f1f4d00-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c3547dbe9f78f5f25b772640617393e1","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/7a56022a-7ce6-48e2-a722-269068bbefe6/signaling 200 42ms","method":"POST","requestID":"7f1f4d00-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b85936bb-e715-4eb1-88bd-6ba7070d00ef","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.8127337} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":107,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.725553,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f251960-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7f251960-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.274432249Z"}]},"request_id":"6ff42a78-f0b0-4fbb-90bd-10c673b87253","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.8147635} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c3547dbe9f78f5f25b772640617393e1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7f251960-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/7a56022a-7ce6-48e2-a722-269068bbefe6/signaling 200 14ms","method":"POST","requestID":"7f251960-0ff4-11f0-acd3-db29ca75a471","responseTime":14,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3547dbe9f78f5f25b772640617393e1"} gateway-1 | {"time_local":"02/Apr/2025:18:58:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/914fd050-6926-46f6-8a41-731469dca8ba? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c3547dbe9f78f5f25b772640617393e1"} device-1 | {"level":"info","message":"GET /devices/914fd050-6926-46f6-8a41-731469dca8ba? 200 17ms","method":"GET","requestID":"c3547dbe9f78f5f25b772640617393e1","responseTime":17,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Building connection plan","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"18fbce10-4a9c-4ca5-8058-d95cc03e9c85"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"a0558461-521b-4301-815d-e61cef8268c5"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"8e8dccad-4a10-4134-90e3-bf5aadd3ff0b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"7f2ba910-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0","level":"info","message":"auth send jwt","requestID":"ea1885e4f4880df28832c88374da8cdf"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"ea1885e4f4880df28832c88374da8cdf","responseTime":29,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":108,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.88392,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f2ba910-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7f2ba910-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ea1885e4f4880df28832c88374da8cdf"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":109,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.699165,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:42Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ea1885e4f4880df28832c88374da8cdf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620322,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyMn0.PY5Rqp5-A8nEJ42H2MU6uHaUmoUw_-EZk3JisF2Dky0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ea1885e4f4880df28832c88374da8cdf","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:41.369949550Z"}]},"request_id":"a7dbab7d-3a3c-479c-b749-1e266dd99eaf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.8639235} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ea1885e4f4880df28832c88374da8cdf","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"2c0928d4-b483-4b2d-9390-3c830debb424","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.8655336} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3df6ca77-2746-4c40-b159-e32eebbeec8b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620322.8658543} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"7f2ba910-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ea1885e4f4880df28832c88374da8cdf"} gateway-1 | {"time_local":"02/Apr/2025:18:58:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7a56022a-7ce6-48e2-a722-269068bbefe6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ea1885e4f4880df28832c88374da8cdf"} device-1 | {"level":"info","message":"GET /devices/7a56022a-7ce6-48e2-a722-269068bbefe6? 200 14ms","method":"GET","requestID":"ea1885e4f4880df28832c88374da8cdf","responseTime":14,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"7f2ba910-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"7f2ba910-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2'","requestID":"7f2ba910-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2'","requestID":"7f2ba910-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"7f2ba910-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 98ms","method":"POST","requestID":"7f2ba910-0ff4-11f0-acd3-db29ca75a471","responseTime":98,"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":"7f2ba910-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"990b84d7f3a8a5e42a8c98294f281c51"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7f5948c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:43Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5d716601-29a7-4676-aa1c-cfe189e4d76a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620323.1532035} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":110,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.157115,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f5948c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"7f5948c0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7f5948c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/914fd050-6926-46f6-8a41-731469dca8ba/signaling 200 9ms","method":"POST","requestID":"7f5948c0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"7f5af670-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:43Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7585b8b-f281-4aea-832f-d1d01da7c5d2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620323.188224} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":111,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.710656,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:43Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f5af670-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7f5af670-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"7f5af670-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/7a56022a-7ce6-48e2-a722-269068bbefe6/signaling 200 35ms","method":"POST","requestID":"7f5af670-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6/signaling"} device-1 | {"device":"7a56022a-7ce6-48e2-a722-269068bbefe6","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"8539623c-70ea-47fe-a5e1-f5688bc323f2","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"914fd050-6926-46f6-8a41-731469dca8ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"8539623c-70ea-47fe-a5e1-f5688bc323f2","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"914fd050-6926-46f6-8a41-731469dca8ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"914fd050-6926-46f6-8a41-731469dca8ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"914fd050-6926-46f6-8a41-731469dca8ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"914fd050-6926-46f6-8a41-731469dca8ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/8539623c-70ea-47fe-a5e1-f5688bc323f2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8539623c-70ea-47fe-a5e1-f5688bc323f2","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d0af39fd3268c1c74133260e9dacfb11","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d0af39fd3268c1c74133260e9dacfb11","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/914fd050-6926-46f6-8a41-731469dca8ba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2"}}},"level":"info","message":"received a callback","requestID":"d0af39fd3268c1c74133260e9dacfb11"} device-1 | {"device":"7a56022a-7ce6-48e2-a722-269068bbefe6","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a56022a-7ce6-48e2-a722-269068bbefe6","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a56022a-7ce6-48e2-a722-269068bbefe6","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"914fd050-6926-46f6-8a41-731469dca8ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a56022a-7ce6-48e2-a722-269068bbefe6","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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 34ms","method":"POST","requestID":"d0af39fd3268c1c74133260e9dacfb11","responseTime":34,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.036","http_referrer":"","http_user_agent":"node-fetch","requestID":"d0af39fd3268c1c74133260e9dacfb11"} device-1 | {"device":"914fd050-6926-46f6-8a41-731469dca8ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a56022a-7ce6-48e2-a722-269068bbefe6","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"8539623c-70ea-47fe-a5e1-f5688bc323f2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"8539623c-70ea-47fe-a5e1-f5688bc323f2","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/8539623c-70ea-47fe-a5e1-f5688bc323f2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8539623c-70ea-47fe-a5e1-f5688bc323f2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"582229b48ce02f9e1aef421d9e5b9e2f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"582229b48ce02f9e1aef421d9e5b9e2f","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/914fd050-6926-46f6-8a41-731469dca8ba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2"}}},"level":"info","message":"received a callback","requestID":"582229b48ce02f9e1aef421d9e5b9e2f"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"807df2a0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8539623c-70ea-47fe-a5e1-f5688bc323f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"913754a1-25e8-4cca-80c3-88385765be48","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.070164} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":112,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.24254,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"807df2a0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2","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":"807df2a0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"807df2a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2 200 7ms","method":"GET","requestID":"807df2a0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"582229b48ce02f9e1aef421d9e5b9e2f","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.052","http_referrer":"","http_user_agent":"node-fetch","requestID":"582229b48ce02f9e1aef421d9e5b9e2f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8084d070-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"692a2e6d-e1f4-4212-a5b1-9a4015994616","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.1154215} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":113,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.519355,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8084d070-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8084d070-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8084d070-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/914fd050-6926-46f6-8a41-731469dca8ba/signaling 200 8ms","method":"POST","requestID":"8084d070-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80867e20-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0","level":"info","message":"auth send jwt","requestID":"24db44242da409eee57b19117f49ca51"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"24db44242da409eee57b19117f49ca51","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/913e9209-ccfe-4679-8998-c7ed45294151","requestID":"24db44242da409eee57b19117f49ca51"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e33359e-fdf6-49b8-bdf3-21b0c06cd816","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.1263123} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":114,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.507124,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":115,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.700329,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"80867e20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"80867e20-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"24db44242da409eee57b19117f49ca51","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620325,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"24db44242da409eee57b19117f49ca51","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80867e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/7a56022a-7ce6-48e2-a722-269068bbefe6/signaling 200 31ms","method":"POST","requestID":"80867e20-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/913e9209-ccfe-4679-8998-c7ed45294151","requestID":"24db44242da409eee57b19117f49ca51"} gateway-1 | {"time_local":"02/Apr/2025:18:58:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/913e9209-ccfe-4679-8998-c7ed45294151 HTTP/1.1","status": "200","body_bytes_sent":"888","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"24db44242da409eee57b19117f49ca51"} experiment-1 | {"level":"info","message":"GET /experiments/913e9209-ccfe-4679-8998-c7ed45294151 200 34ms","method":"GET","requestID":"24db44242da409eee57b19117f49ca51","responseTime":34,"status":200,"url":"/experiments/913e9209-ccfe-4679-8998-c7ed45294151"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0","level":"info","message":"auth send jwt","requestID":"0042abbe617e27b17b2ab02a49a1a2aa"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0042abbe617e27b17b2ab02a49a1a2aa","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/913e9209-ccfe-4679-8998-c7ed45294151","requestID":"0042abbe617e27b17b2ab02a49a1a2aa"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":116,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.687905,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"0042abbe617e27b17b2ab02a49a1a2aa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620325,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"0042abbe617e27b17b2ab02a49a1a2aa","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Attempting to finish experiment","requestID":"0042abbe617e27b17b2ab02a49a1a2aa"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"808dd120-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":117,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.741409,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"808dd120-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620325,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"808dd120-0ff4-11f0-acd3-db29ca75a471","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"device":"914fd050-6926-46f6-8a41-731469dca8ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"914fd050-6926-46f6-8a41-731469dca8ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"914fd050-6926-46f6-8a41-731469dca8ba","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a56022a-7ce6-48e2-a722-269068bbefe6","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a56022a-7ce6-48e2-a722-269068bbefe6","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"7a56022a-7ce6-48e2-a722-269068bbefe6","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/8539623c-70ea-47fe-a5e1-f5688bc323f2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"8539623c-70ea-47fe-a5e1-f5688bc323f2","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"97ce6c4816f7a2fe5b22588ed52fb255","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"97ce6c4816f7a2fe5b22588ed52fb255","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8539623c-70ea-47fe-a5e1-f5688bc323f2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F8539623c-70ea-47fe-a5e1-f5688bc323f2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"a2d6804c-43d6-4b1e-ad18-96c1845dd6d4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.20793} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d0c69d2c-cd15-4f73-ba0e-1870bc5aeb26","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.2085173} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6f4e3ed46ceb43470d8aef8deb64f9f4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/914fd050-6926-46f6-8a41-731469dca8ba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2"}}},"level":"info","message":"received a callback","requestID":"97ce6c4816f7a2fe5b22588ed52fb255"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6f4e3ed46ceb43470d8aef8deb64f9f4","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"808dd120-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2"}}},"level":"info","message":"received a callback","requestID":"6f4e3ed46ceb43470d8aef8deb64f9f4"} device-1 | {"data":{"peerconnection":"8539623c-70ea-47fe-a5e1-f5688bc323f2","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"808dd120-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2 204 91ms","method":"DELETE","requestID":"808dd120-0ff4-11f0-acd3-db29ca75a471","responseTime":91,"status":204,"url":"/peerconnections/8539623c-70ea-47fe-a5e1-f5688bc323f2"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/913e9209-ccfe-4679-8998-c7ed45294151"},"level":"info","message":"Successfully finished experiment","requestID":"0042abbe617e27b17b2ab02a49a1a2aa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80a18030-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F914fd050-6926-46f6-8a41-731469dca8ba","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"935ea632-8168-4193-bc61-a388d9736e91","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.3038075} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":118,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.815214,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"80a18030-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"80a18030-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80a18030-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/914fd050-6926-46f6-8a41-731469dca8ba/signaling 200 9ms","method":"POST","requestID":"80a18030-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/914fd050-6926-46f6-8a41-731469dca8ba/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"80a32de0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7a56022a-7ce6-48e2-a722-269068bbefe6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec468257-b9b7-41a8-9a5f-0d02ac97e6bc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.3164785} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F913e9209-ccfe-4679-8998-c7ed45294151': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F913e9209-ccfe-4679-8998-c7ed45294151","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"3949d298-82d8-4f3a-a1a5-01b38df322fc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.316689} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff430c72-89e4-49c3-b86f-998718536655","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.3171012} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":119,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.411041,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"80a32de0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6","object_type":"device","rebac_allow":false,"scope_allow":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":"80a32de0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"80a32de0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/7a56022a-7ce6-48e2-a722-269068bbefe6/signaling 200 12ms","method":"POST","requestID":"80a32de0-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/7a56022a-7ce6-48e2-a722-269068bbefe6/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","method":"POST","requestID":"0042abbe617e27b17b2ab02a49a1a2aa","responseTime":51,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/913e9209-ccfe-4679-8998-c7ed45294151","requestID":"0042abbe617e27b17b2ab02a49a1a2aa"} gateway-1 | {"time_local":"02/Apr/2025:18:58:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/913e9209-ccfe-4679-8998-c7ed45294151 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.257","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0042abbe617e27b17b2ab02a49a1a2aa"} experiment-1 | {"level":"info","message":"DELETE /experiments/913e9209-ccfe-4679-8998-c7ed45294151 204 255ms","method":"DELETE","requestID":"0042abbe617e27b17b2ab02a49a1a2aa","responseTime":255,"status":204,"url":"/experiments/913e9209-ccfe-4679-8998-c7ed45294151"} gateway-1 | {"time_local":"02/Apr/2025:18:58:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"3.033","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"ce5939b667c2fe23e66a4aacd48a9820"} gateway-1 | {"time_local":"02/Apr/2025:18:58:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2548","request_time":"3.027","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"d9b032f7519874d6478a249c1b2f4838"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0","level":"info","message":"auth send jwt","requestID":"3a88a7ba046c5490919acf3394053091"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/914fd050-6926-46f6-8a41-731469dca8ba' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"3a88a7ba046c5490919acf3394053091","responseTime":28,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 239ms","method":"POST","requestID":"97ce6c4816f7a2fe5b22588ed52fb255","responseTime":239,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.242","http_referrer":"","http_user_agent":"node-fetch","requestID":"97ce6c4816f7a2fe5b22588ed52fb255"} device-1 | {"level":"info","message":"postDevices called","requestID":"3a88a7ba046c5490919acf3394053091"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 240ms","method":"POST","requestID":"6f4e3ed46ceb43470d8aef8deb64f9f4","responseTime":240,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.244","http_referrer":"","http_user_agent":"node-fetch","requestID":"6f4e3ed46ceb43470d8aef8deb64f9f4"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":120,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.057612,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7a56022a-7ce6-48e2-a722-269068bbefe6' closed"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3a88a7ba046c5490919acf3394053091","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620325,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3a88a7ba046c5490919acf3394053091","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed530602-39a4-4f06-bfa1-1d35dbeecdca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"59116530-1f4a-4213-9d14-7d53f358cc9f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.4921205} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3a88a7ba046c5490919acf3394053091","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"aa21ed00-c91a-4ca9-901e-d75f2ba3084c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.4975598} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"3a88a7ba046c5490919acf3394053091","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed530602-39a4-4f06-bfa1-1d35dbeecdca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"a677037a-0f6b-448c-99e0-7d3ed4a57043","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.5072703} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80194cef-5b11-4df3-bc0c-80166463f4e8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.5075147} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"3a88a7ba046c5490919acf3394053091","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed530602-39a4-4f06-bfa1-1d35dbeecdca","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fed530602-39a4-4f06-bfa1-1d35dbeecdca","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:45.507254136Z"}]},"request_id":"c7b2a533-3034-4d8a-9318-07486b69cda2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.5380962} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"3a88a7ba046c5490919acf3394053091","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3a88a7ba046c5490919acf3394053091"} gateway-1 | {"time_local":"02/Apr/2025:18:58:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.123","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3a88a7ba046c5490919acf3394053091"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"3a88a7ba046c5490919acf3394053091","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0","level":"info","message":"auth send jwt","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":121,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.941068,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620325,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6bf2cfd-169b-45f0-b9ae-284d8ad8fd45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"86f186db-2b2f-411d-9c14-30bed86065e5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.595961} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"788edd35-21db-4f1f-a732-0a8a161a08ca","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.6021767} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ea9fd783-2a54-45d0-99af-d272acb12a5d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.6413765} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6bf2cfd-169b-45f0-b9ae-284d8ad8fd45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"2d52ded6-732e-441f-a130-90ef481d1ec3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.641731} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6bf2cfd-169b-45f0-b9ae-284d8ad8fd45","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa6bf2cfd-169b-45f0-b9ae-284d8ad8fd45","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:45.641716664Z"}]},"request_id":"aea4c58d-60e6-4ca4-84db-9acba29bcdf2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.6475012} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1"} gateway-1 | {"time_local":"02/Apr/2025:18:58:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.106","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1"} device-1 | {"level":"info","message":"POST /devices? 201 102ms","method":"POST","requestID":"a34e3c12b6ffcc2b104a93be0a40e5a1","responseTime":102,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0","level":"info","message":"auth send jwt","requestID":"aeb58a9f3250bb58e0dce6434ec6eb05"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"aeb58a9f3250bb58e0dce6434ec6eb05","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"aeb58a9f3250bb58e0dce6434ec6eb05"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":122,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.8309,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aeb58a9f3250bb58e0dce6434ec6eb05","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620325,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"aeb58a9f3250bb58e0dce6434ec6eb05","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc3336e2-cfd3-460e-8743-e4e4e23fc441","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"10da8535-58bf-437b-8348-1dfc4507f4e6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.6929076} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aeb58a9f3250bb58e0dce6434ec6eb05","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65ce489b-69fa-46a1-a493-834a5720a3e2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.6974342} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"aeb58a9f3250bb58e0dce6434ec6eb05","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc3336e2-cfd3-460e-8743-e4e4e23fc441","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"d70dd265-0b8b-40dc-8cc0-0272eccd60b8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.7304583} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2bde4491-b528-4062-9d25-0d048212dc14","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.7307272} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"aeb58a9f3250bb58e0dce6434ec6eb05","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc3336e2-cfd3-460e-8743-e4e4e23fc441","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fcc3336e2-cfd3-460e-8743-e4e4e23fc441","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:45.730443063Z"}]},"request_id":"6dd82684-3269-4e3f-87a6-156a46bc3f5e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.7347715} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aeb58a9f3250bb58e0dce6434ec6eb05","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"aeb58a9f3250bb58e0dce6434ec6eb05"} gateway-1 | {"time_local":"02/Apr/2025:18:58:45 +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":"aeb58a9f3250bb58e0dce6434ec6eb05"} device-1 | {"level":"info","message":"POST /devices? 201 81ms","method":"POST","requestID":"aeb58a9f3250bb58e0dce6434ec6eb05","responseTime":81,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0","level":"info","message":"auth send jwt","requestID":"c14ab594abe7528a85394520814a06cc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c14ab594abe7528a85394520814a06cc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c14ab594abe7528a85394520814a06cc"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":123,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.751316,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c14ab594abe7528a85394520814a06cc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620325,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c14ab594abe7528a85394520814a06cc","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ccc6590-dddb-48f3-aeee-749f80bf1faa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"09b5a336-cfcc-4c94-9ad8-99bdd3b7086b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.7805078} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c14ab594abe7528a85394520814a06cc","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c3e84398-d6a6-4b0a-ac46-8f21b47630ca","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.7850957} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"c14ab594abe7528a85394520814a06cc","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ccc6590-dddb-48f3-aeee-749f80bf1faa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"b929a7da-96ca-44af-aca0-37b1ee5006bc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.7965038} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e33c2581-b2f9-4bc0-9364-0e9fc7187f9b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.796725} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"c14ab594abe7528a85394520814a06cc","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ccc6590-dddb-48f3-aeee-749f80bf1faa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1ccc6590-dddb-48f3-aeee-749f80bf1faa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:45.796481338Z"}]},"request_id":"001a686d-3b60-42f6-8334-8c8e82a1782b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.8003662} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"c14ab594abe7528a85394520814a06cc","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c14ab594abe7528a85394520814a06cc"} gateway-1 | {"time_local":"02/Apr/2025:18:58:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c14ab594abe7528a85394520814a06cc"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"c14ab594abe7528a85394520814a06cc","responseTime":85,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0","level":"info","message":"auth send jwt","requestID":"dd2f3757bde548c3c54af58d814c2769"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"dd2f3757bde548c3c54af58d814c2769","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"dd2f3757bde548c3c54af58d814c2769"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":124,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.645847,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"dd2f3757bde548c3c54af58d814c2769","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620325,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dd2f3757bde548c3c54af58d814c2769","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa4ac094-e9ba-4cea-8d8d-dd7b0fbcd87a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"088b4287-05b1-495f-ab30-314aadf2a6ab","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.8458996} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dd2f3757bde548c3c54af58d814c2769","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"beb39c20-7bd7-43c7-acac-15a0a7938dd1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.8744242} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"dd2f3757bde548c3c54af58d814c2769","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa4ac094-e9ba-4cea-8d8d-dd7b0fbcd87a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"afbf19ec-35cb-4924-bfba-acfea0794fdd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.8830764} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a536a509-3fa7-4422-b49a-4243cfdd1d2a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.8832884} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"dd2f3757bde548c3c54af58d814c2769","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa4ac094-e9ba-4cea-8d8d-dd7b0fbcd87a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffa4ac094-e9ba-4cea-8d8d-dd7b0fbcd87a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:45.883058424Z"}]},"request_id":"ef19da7a-c9d2-471f-9e91-6bb3d38b9ca3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.8870802} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"dd2f3757bde548c3c54af58d814c2769","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"dd2f3757bde548c3c54af58d814c2769"} gateway-1 | {"time_local":"02/Apr/2025:18:58:45 +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":"dd2f3757bde548c3c54af58d814c2769"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"dd2f3757bde548c3c54af58d814c2769","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0","level":"info","message":"auth send jwt","requestID":"03ed089c98760424850279350bb5ee6f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"03ed089c98760424850279350bb5ee6f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"03ed089c98760424850279350bb5ee6f"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":125,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.642437,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"03ed089c98760424850279350bb5ee6f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620325,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"03ed089c98760424850279350bb5ee6f","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabcfcb3f-2ffe-43e7-9a91-5bf61dace220","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"eddc0dcd-c956-4785-a231-3c33c20494ea","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.931891} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"03ed089c98760424850279350bb5ee6f","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3fc50b94-c469-42e7-ab57-9f565e3d05c1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.9360752} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"03ed089c98760424850279350bb5ee6f","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabcfcb3f-2ffe-43e7-9a91-5bf61dace220","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"8ad82735-2834-465d-aa60-41bd11532c5f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.971217} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2aff6d7a-92cc-4972-8a66-264e6ba329c8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.971407} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"03ed089c98760424850279350bb5ee6f","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabcfcb3f-2ffe-43e7-9a91-5bf61dace220","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fabcfcb3f-2ffe-43e7-9a91-5bf61dace220","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:45.971200788Z"}]},"request_id":"e621b1bb-4fb3-4c08-b192-fcebba93713a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620325.9755864} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"03ed089c98760424850279350bb5ee6f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"03ed089c98760424850279350bb5ee6f"} gateway-1 | {"time_local":"02/Apr/2025:18:58:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.087","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03ed089c98760424850279350bb5ee6f"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"03ed089c98760424850279350bb5ee6f","responseTime":84,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0","level":"info","message":"auth send jwt","requestID":"78d2982445092923578cc603c5e1b646"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"78d2982445092923578cc603c5e1b646","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"78d2982445092923578cc603c5e1b646"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":126,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.832593,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"78d2982445092923578cc603c5e1b646","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620325,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNX0.U9x2pbA0s65D3t1i2aAdYk4-g5P1ZeUvlm9_iXEYdF0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"78d2982445092923578cc603c5e1b646","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37f942f3-1be6-4752-a30e-e26bd3ad419d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5d1d6e9e-ed48-4559-b57b-751d5c2e8d03","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.020528} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78d2982445092923578cc603c5e1b646","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"610c4ba5-e8b7-4e12-af4f-456329007437","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.0244596} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"78d2982445092923578cc603c5e1b646","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37f942f3-1be6-4752-a30e-e26bd3ad419d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"f2803f4d-6e16-4fe6-b546-51d40b5069b1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.03104} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"315f10d7-7db5-4342-96c2-84a069bb93de","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.0311847} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"78d2982445092923578cc603c5e1b646","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37f942f3-1be6-4752-a30e-e26bd3ad419d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F37f942f3-1be6-4752-a30e-e26bd3ad419d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.031026411Z"}]},"request_id":"04c471d7-af11-4d5d-b5c4-9bca5c5e1fe7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.035283} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"78d2982445092923578cc603c5e1b646","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"78d2982445092923578cc603c5e1b646"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"78d2982445092923578cc603c5e1b646"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"78d2982445092923578cc603c5e1b646","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"9360d6c3c02212c8e021d9381d0e954e"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"9360d6c3c02212c8e021d9381d0e954e","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9360d6c3c02212c8e021d9381d0e954e"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":127,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.855964,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9360d6c3c02212c8e021d9381d0e954e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9360d6c3c02212c8e021d9381d0e954e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7a8a006-2af1-4ba6-b97a-a1135009b6fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"827f021d-9654-4e2a-9e93-e1d0b524d36d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.07942} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9360d6c3c02212c8e021d9381d0e954e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7aa4a55-6516-48c7-b2a4-c808ab20ffd0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.0832758} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9360d6c3c02212c8e021d9381d0e954e","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7a8a006-2af1-4ba6-b97a-a1135009b6fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"b22d44fd-1827-4699-9e14-1b04839f3123","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.1153588} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"709b2604-3d9c-42b1-a582-af9d9205889a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.115668} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"9360d6c3c02212c8e021d9381d0e954e","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7a8a006-2af1-4ba6-b97a-a1135009b6fa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe7a8a006-2af1-4ba6-b97a-a1135009b6fa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.115342718Z"}]},"request_id":"083aeae4-e3f7-4e58-8aea-02150dfe93ba","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.1197786} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9360d6c3c02212c8e021d9381d0e954e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9360d6c3c02212c8e021d9381d0e954e"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.083","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9360d6c3c02212c8e021d9381d0e954e"} device-1 | {"level":"info","message":"POST /devices? 201 55ms","method":"POST","requestID":"9360d6c3c02212c8e021d9381d0e954e","responseTime":55,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"81a416472e7bf6bb008da9feb05d3fb1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"81a416472e7bf6bb008da9feb05d3fb1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"81a416472e7bf6bb008da9feb05d3fb1"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":128,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.734571,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"81a416472e7bf6bb008da9feb05d3fb1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"81a416472e7bf6bb008da9feb05d3fb1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14139c21-d139-4a00-8377-185f416ca2ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"86e4ad19-5064-4c59-b70a-215bed2e820a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.1655018} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"81a416472e7bf6bb008da9feb05d3fb1","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1346284a-4280-478a-84c5-746b01041336","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.169399} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"81a416472e7bf6bb008da9feb05d3fb1","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14139c21-d139-4a00-8377-185f416ca2ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"205c18c0-cac0-434c-b471-d71019cf92d8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.1786292} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7696f28-bc08-4c4f-ab4a-ea5a28d15b61","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.1787825} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"81a416472e7bf6bb008da9feb05d3fb1","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14139c21-d139-4a00-8377-185f416ca2ba","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F14139c21-d139-4a00-8377-185f416ca2ba","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.178613069Z"}]},"request_id":"13292b7d-2c42-4de8-917f-6da125835f4c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.182344} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"81a416472e7bf6bb008da9feb05d3fb1","responseTime":2,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"277","request_time":"0.062","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"81a416472e7bf6bb008da9feb05d3fb1"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"81a416472e7bf6bb008da9feb05d3fb1"} device-1 | {"level":"info","message":"POST /devices? 201 58ms","method":"POST","requestID":"81a416472e7bf6bb008da9feb05d3fb1","responseTime":58,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"d3484fdc8edc937757e836af218e870f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3484fdc8edc937757e836af218e870f","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d3484fdc8edc937757e836af218e870f"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":129,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.645782,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d3484fdc8edc937757e836af218e870f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d3484fdc8edc937757e836af218e870f","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb255f0d-4c58-4bff-87b5-7eb7d41b9dc0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"98a9669a-09c8-48dc-b349-366037e11c84","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.2573845} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"d3484fdc8edc937757e836af218e870f","responseTime":31,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6343da86-5092-426f-8ecc-c9362f97f70b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.2646096} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"d3484fdc8edc937757e836af218e870f","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb255f0d-4c58-4bff-87b5-7eb7d41b9dc0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"945d7357-7679-438a-ab68-ca9b6973c78a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.2746017} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e2e74c4-20c3-46b0-91f4-2e235e5e66e5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.2748573} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"d3484fdc8edc937757e836af218e870f","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb255f0d-4c58-4bff-87b5-7eb7d41b9dc0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffb255f0d-4c58-4bff-87b5-7eb7d41b9dc0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.274587667Z"}]},"request_id":"1b28c4a4-93d7-4072-8f96-8656928c76b8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.2788935} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d3484fdc8edc937757e836af218e870f","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d3484fdc8edc937757e836af218e870f"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"d3484fdc8edc937757e836af218e870f","responseTime":93,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"278","request_time":"0.095","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3484fdc8edc937757e836af218e870f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":130,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.825892,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f081354f-05c3-49e7-8874-cafd4450bd43","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.3285732} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"44a77fb6-3d42-4f84-844b-fb54cc58b2a0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.3327363} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8","responseTime":27,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"3cc21d72-acdc-4563-85c7-caf800af7107","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.367861} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6244148d-b8bc-4948-95aa-d9c809ef453b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.3679683} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.367845101Z"}]},"request_id":"338236c4-f647-4720-880d-410017d162c5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.3718324} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1069","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8"} device-1 | {"level":"info","message":"POST /devices? 201 62ms","method":"POST","requestID":"bce4d2ac64fccf24cd1f7bc24e7974b8","responseTime":62,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"76a62050d45b653362cbca502a940720"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"76a62050d45b653362cbca502a940720","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"76a62050d45b653362cbca502a940720"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":131,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.676008,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"76a62050d45b653362cbca502a940720","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"76a62050d45b653362cbca502a940720","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d22dd58-8196-4704-b527-6e3a1872af61","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"dc3140cf-1521-4582-a2f3-34134c31bedf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.4174523} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"76a62050d45b653362cbca502a940720","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1c8e01c2-895a-468e-8ac7-019dd499e97d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.4219408} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"76a62050d45b653362cbca502a940720","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d22dd58-8196-4704-b527-6e3a1872af61","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"14252156-b3f8-478d-85f7-755d8412d00d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.4556775} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b906c63-5dc3-4727-baa4-5a6ce6fd140f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.455763} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"76a62050d45b653362cbca502a940720","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d22dd58-8196-4704-b527-6e3a1872af61","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d22dd58-8196-4704-b527-6e3a1872af61","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.455657866Z"}]},"request_id":"aa9caad7-6349-41fd-95bf-47a7301bf1b4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.459954} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"76a62050d45b653362cbca502a940720","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"76a62050d45b653362cbca502a940720"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"1347","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"76a62050d45b653362cbca502a940720"} device-1 | {"level":"info","message":"POST /devices? 201 83ms","method":"POST","requestID":"76a62050d45b653362cbca502a940720","responseTime":83,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":132,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.711299,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51d9be30-faaf-4f7d-a2f2-454fd473b286","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"514a2029-2d49-42a3-91b5-eb6b235664fd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.5045557} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4f3942f8-5972-483d-a875-0de1c759cccb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.5090523} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51d9be30-faaf-4f7d-a2f2-454fd473b286","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"c3caa443-2858-42cf-a76f-0c7b3f70ee4a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.520202} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ceaf302-06ab-4c39-84c0-8355fa425653","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.5202527} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51d9be30-faaf-4f7d-a2f2-454fd473b286","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51d9be30-faaf-4f7d-a2f2-454fd473b286","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.520178158Z"}]},"request_id":"b1de997a-be97-4204-875a-6944c02e009a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.5482845} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +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":"ee7ffbf4634ce6c2903a3e6a2c47dd55"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"ee7ffbf4634ce6c2903a3e6a2c47dd55","responseTime":84,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"e028622482d9a7df734481891b45e51a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e028622482d9a7df734481891b45e51a","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e028622482d9a7df734481891b45e51a"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":133,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.832075,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e028622482d9a7df734481891b45e51a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e028622482d9a7df734481891b45e51a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.367845101Z"}]},"request_id":"9018d7ca-61d3-4cf0-8577-7a887825900c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.5663414} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"e028622482d9a7df734481891b45e51a","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d88b3551-932d-4d3c-8f5d-3e9f53b3e6f0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.5708995} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"e028622482d9a7df734481891b45e51a","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.367845101Z"}]},"request_id":"f325a292-eeb2-4d38-bf08-4ad516c1274a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.6067767} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"e028622482d9a7df734481891b45e51a","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e028622482d9a7df734481891b45e51a"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e028622482d9a7df734481891b45e51a"} device-1 | {"level":"info","message":"PATCH /devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82? 200 51ms","method":"PATCH","requestID":"e028622482d9a7df734481891b45e51a","responseTime":51,"status":200,"url":"/devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"aa659035997c8f636a577babbee7a511"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"aa659035997c8f636a577babbee7a511","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"aa659035997c8f636a577babbee7a511"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":134,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.975428,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d22dd58-8196-4704-b527-6e3a1872af61","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa659035997c8f636a577babbee7a511","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8d22dd58-8196-4704-b527-6e3a1872af61","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"aa659035997c8f636a577babbee7a511","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d22dd58-8196-4704-b527-6e3a1872af61","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d22dd58-8196-4704-b527-6e3a1872af61","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.455657866Z"}]},"request_id":"853009b9-cd0b-4f38-9c5c-c765a7d1518e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.649472} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aa659035997c8f636a577babbee7a511","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e57855a3-7a6c-4556-8bb0-4d1d6d50c1dd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.6542244} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"aa659035997c8f636a577babbee7a511","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d22dd58-8196-4704-b527-6e3a1872af61","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d22dd58-8196-4704-b527-6e3a1872af61","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.455657866Z"}]},"request_id":"c6a00913-0daf-4d80-aa2f-b4267a300720","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.6973288} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aa659035997c8f636a577babbee7a511","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"aa659035997c8f636a577babbee7a511"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8d22dd58-8196-4704-b527-6e3a1872af61? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"aa659035997c8f636a577babbee7a511"} device-1 | {"level":"info","message":"PATCH /devices/8d22dd58-8196-4704-b527-6e3a1872af61? 200 85ms","method":"PATCH","requestID":"aa659035997c8f636a577babbee7a511","responseTime":85,"status":200,"url":"/devices/8d22dd58-8196-4704-b527-6e3a1872af61?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"227c18c4677571266322159e25f043f1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"227c18c4677571266322159e25f043f1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"227c18c4677571266322159e25f043f1"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":135,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.63601,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/51d9be30-faaf-4f7d-a2f2-454fd473b286","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"227c18c4677571266322159e25f043f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/51d9be30-faaf-4f7d-a2f2-454fd473b286","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"227c18c4677571266322159e25f043f1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51d9be30-faaf-4f7d-a2f2-454fd473b286","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51d9be30-faaf-4f7d-a2f2-454fd473b286","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.520178158Z"}]},"request_id":"6301eb32-de87-4917-989f-594ae81f6ffe","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.7139401} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"227c18c4677571266322159e25f043f1","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd5243ad-8a76-403a-ba88-453d2f3f3958","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.7415514} authorization-1 | {"level":"info","message":"POST /relations/update 200 26ms","method":"POST","requestID":"227c18c4677571266322159e25f043f1","responseTime":26,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51d9be30-faaf-4f7d-a2f2-454fd473b286","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51d9be30-faaf-4f7d-a2f2-454fd473b286","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.520178158Z"}]},"request_id":"ec6603c1-1e95-4e57-a3dc-4efaa4314fec","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.7508032} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"227c18c4677571266322159e25f043f1","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"227c18c4677571266322159e25f043f1"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/51d9be30-faaf-4f7d-a2f2-454fd473b286? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"227c18c4677571266322159e25f043f1"} device-1 | {"level":"info","message":"PATCH /devices/51d9be30-faaf-4f7d-a2f2-454fd473b286? 200 51ms","method":"PATCH","requestID":"227c18c4677571266322159e25f043f1","responseTime":51,"status":200,"url":"/devices/51d9be30-faaf-4f7d-a2f2-454fd473b286?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"a1f60c388f0f75996a2a200700156125"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a1f60c388f0f75996a2a200700156125","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a1f60c388f0f75996a2a200700156125"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":136,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.184034,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a1f60c388f0f75996a2a200700156125","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1f60c388f0f75996a2a200700156125","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.367845101Z"}]},"request_id":"c1ddb299-acf8-4081-bb24-09a1c0377500","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.7935503} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a1f60c388f0f75996a2a200700156125","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":137,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.65046,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":138,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.823379,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ed530602-39a4-4f06-bfa1-1d35dbeecdca","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a1f60c388f0f75996a2a200700156125","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ed530602-39a4-4f06-bfa1-1d35dbeecdca","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a1f60c388f0f75996a2a200700156125","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a6bf2cfd-169b-45f0-b9ae-284d8ad8fd45","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a1f60c388f0f75996a2a200700156125","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a6bf2cfd-169b-45f0-b9ae-284d8ad8fd45","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a1f60c388f0f75996a2a200700156125","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":139,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.752446,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/cc3336e2-cfd3-460e-8743-e4e4e23fc441","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a1f60c388f0f75996a2a200700156125","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/cc3336e2-cfd3-460e-8743-e4e4e23fc441","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a1f60c388f0f75996a2a200700156125","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":140,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.758329,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d22dd58-8196-4704-b527-6e3a1872af61","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a1f60c388f0f75996a2a200700156125","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8d22dd58-8196-4704-b527-6e3a1872af61","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a1f60c388f0f75996a2a200700156125","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a1f60c388f0f75996a2a200700156125"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82? HTTP/1.1","status": "200","body_bytes_sent":"1141","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a1f60c388f0f75996a2a200700156125"} device-1 | {"level":"info","message":"GET /devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82? 200 47ms","method":"GET","requestID":"a1f60c388f0f75996a2a200700156125","responseTime":47,"status":200,"url":"/devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"1146521efd08554ec8051d4fa21e7693"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1146521efd08554ec8051d4fa21e7693","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1146521efd08554ec8051d4fa21e7693"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":141,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.821027,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8d22dd58-8196-4704-b527-6e3a1872af61","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1146521efd08554ec8051d4fa21e7693","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8d22dd58-8196-4704-b527-6e3a1872af61","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1146521efd08554ec8051d4fa21e7693","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d22dd58-8196-4704-b527-6e3a1872af61","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8d22dd58-8196-4704-b527-6e3a1872af61","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.455657866Z"}]},"request_id":"08593b1c-85a3-4a22-9877-d5efc460fa8f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.8443553} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1146521efd08554ec8051d4fa21e7693","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":142,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642578,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":143,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.645608,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":144,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.424883,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1ccc6590-dddb-48f3-aeee-749f80bf1faa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1146521efd08554ec8051d4fa21e7693","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1ccc6590-dddb-48f3-aeee-749f80bf1faa","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1146521efd08554ec8051d4fa21e7693","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fa4ac094-e9ba-4cea-8d8d-dd7b0fbcd87a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1146521efd08554ec8051d4fa21e7693","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/fa4ac094-e9ba-4cea-8d8d-dd7b0fbcd87a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1146521efd08554ec8051d4fa21e7693","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/abcfcb3f-2ffe-43e7-9a91-5bf61dace220","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1146521efd08554ec8051d4fa21e7693","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/abcfcb3f-2ffe-43e7-9a91-5bf61dace220","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"1146521efd08554ec8051d4fa21e7693","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":145,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841633,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1146521efd08554ec8051d4fa21e7693","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1146521efd08554ec8051d4fa21e7693","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":146,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.72409,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:55624","level":"info","msg":"Received request.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51d9be30-faaf-4f7d-a2f2-454fd473b286","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1146521efd08554ec8051d4fa21e7693","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/51d9be30-faaf-4f7d-a2f2-454fd473b286","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1146521efd08554ec8051d4fa21e7693","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:55624","level":"info","msg":"Sent response.","req_id":147,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997484,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/37f942f3-1be6-4752-a30e-e26bd3ad419d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1146521efd08554ec8051d4fa21e7693","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/37f942f3-1be6-4752-a30e-e26bd3ad419d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"1146521efd08554ec8051d4fa21e7693","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1146521efd08554ec8051d4fa21e7693"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8d22dd58-8196-4704-b527-6e3a1872af61? HTTP/1.1","status": "200","body_bytes_sent":"1491","request_time":"0.055","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1146521efd08554ec8051d4fa21e7693"} device-1 | {"level":"info","message":"GET /devices/8d22dd58-8196-4704-b527-6e3a1872af61? 200 52ms","method":"GET","requestID":"1146521efd08554ec8051d4fa21e7693","responseTime":52,"status":200,"url":"/devices/8d22dd58-8196-4704-b527-6e3a1872af61?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"8eadfd26a73d2d71457cd7870fca8a7b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8eadfd26a73d2d71457cd7870fca8a7b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8eadfd26a73d2d71457cd7870fca8a7b"} authorization-1 | {"client_addr":"127.0.0.1:55624","level":"info","msg":"Received request.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:55624","level":"info","msg":"Sent response.","req_id":148,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.822942,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/51d9be30-faaf-4f7d-a2f2-454fd473b286","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8eadfd26a73d2d71457cd7870fca8a7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/51d9be30-faaf-4f7d-a2f2-454fd473b286","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8eadfd26a73d2d71457cd7870fca8a7b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51d9be30-faaf-4f7d-a2f2-454fd473b286","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F51d9be30-faaf-4f7d-a2f2-454fd473b286","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:46.520178158Z"}]},"request_id":"bd01956b-8f70-4863-ac52-89957907478f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.9006796} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"8eadfd26a73d2d71457cd7870fca8a7b","responseTime":2,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:55624","level":"info","msg":"Received request.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Received request.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:55624","level":"info","msg":"Sent response.","req_id":149,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.818063,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:49324","level":"info","msg":"Sent response.","req_id":150,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.303413,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e7a8a006-2af1-4ba6-b97a-a1135009b6fa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8eadfd26a73d2d71457cd7870fca8a7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e7a8a006-2af1-4ba6-b97a-a1135009b6fa","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8eadfd26a73d2d71457cd7870fca8a7b","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/14139c21-d139-4a00-8377-185f416ca2ba","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8eadfd26a73d2d71457cd7870fca8a7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/14139c21-d139-4a00-8377-185f416ca2ba","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8eadfd26a73d2d71457cd7870fca8a7b","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":151,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.272141,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":152,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.015472,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fb255f0d-4c58-4bff-87b5-7eb7d41b9dc0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8eadfd26a73d2d71457cd7870fca8a7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/fb255f0d-4c58-4bff-87b5-7eb7d41b9dc0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8eadfd26a73d2d71457cd7870fca8a7b","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8eadfd26a73d2d71457cd7870fca8a7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/4dbd6c4b-e842-49c2-95b8-df1cd5ce1e82","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8eadfd26a73d2d71457cd7870fca8a7b","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8eadfd26a73d2d71457cd7870fca8a7b"} gateway-1 | {"time_local":"02/Apr/2025:18:58:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/51d9be30-faaf-4f7d-a2f2-454fd473b286? HTTP/1.1","status": "200","body_bytes_sent":"1142","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8eadfd26a73d2d71457cd7870fca8a7b"} device-1 | {"level":"info","message":"GET /devices/51d9be30-faaf-4f7d-a2f2-454fd473b286? 200 46ms","method":"GET","requestID":"8eadfd26a73d2d71457cd7870fca8a7b","responseTime":46,"status":200,"url":"/devices/51d9be30-faaf-4f7d-a2f2-454fd473b286?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk","level":"info","message":"auth send jwt","requestID":"b3af9c1441234ff665d26439a28ea3e5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b3af9c1441234ff665d26439a28ea3e5","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b3af9c1441234ff665d26439a28ea3e5"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":153,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.842561,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:46Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b3af9c1441234ff665d26439a28ea3e5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620326,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyNn0.Y0OAmpAHuRJtn47csCWIPkFxMh7aKL41BVdICYfkIEk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b3af9c1441234ff665d26439a28ea3e5","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5df9e420-9916-4006-abba-11557c838b12","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.9892454} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b3af9c1441234ff665d26439a28ea3e5","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22af0c0f-60b8-4da5-8c4e-577aff7e746e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620326.9938493} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b3af9c1441234ff665d26439a28ea3e5","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bb8e40f-05a6-4580-9dcd-e4a5f61cb5a9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.0280948} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"df30506a-0745-4d4b-a3c9-2ce4c9730d2f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.0285122} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"b3af9c1441234ff665d26439a28ea3e5","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:47.028492486Z"}]},"request_id":"ad196c82-ff4a-4575-87b5-abba0fb8a3bf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.0367217} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b3af9c1441234ff665d26439a28ea3e5","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b3af9c1441234ff665d26439a28ea3e5"} gateway-1 | {"time_local":"02/Apr/2025:18:58:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"284","request_time":"0.098","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3af9c1441234ff665d26439a28ea3e5"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"b3af9c1441234ff665d26439a28ea3e5","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyN30.b4oQNVwj_Lk476oHpFa7US5m_s3NHstz1mo5z-i4pv8","level":"info","message":"auth send jwt","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":154,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.736441,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620327,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyN30.b4oQNVwj_Lk476oHpFa7US5m_s3NHstz1mo5z-i4pv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13fcfccf-7bb6-4211-82ba-474da12d1a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"8af871ea-c086-46e1-825c-68e294a4e7dc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.0914285} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2ad0c9f-10c9-42c7-b4eb-7ecddd16b2ef","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.0952008} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13fcfccf-7bb6-4211-82ba-474da12d1a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"81ffe906-0d92-47ef-8fb4-f4101023b241","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.1276977} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"453403ee-2d0b-4d2f-b7b7-b57ae0540bd6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.1278758} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13fcfccf-7bb6-4211-82ba-474da12d1a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13fcfccf-7bb6-4211-82ba-474da12d1a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:47.127680272Z"}]},"request_id":"011de5c0-d8b4-4497-80c5-7d38d3495f4e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.1313303} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab"} gateway-1 | {"time_local":"02/Apr/2025:18:58:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"545","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab"} device-1 | {"level":"info","message":"POST /devices? 201 88ms","method":"POST","requestID":"92ada5b5bf6f83e1d9b4e47a4937dbab","responseTime":88,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyN30.b4oQNVwj_Lk476oHpFa7US5m_s3NHstz1mo5z-i4pv8","level":"info","message":"auth send jwt","requestID":"241b4fa900c762bad28da6396cc3694d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"241b4fa900c762bad28da6396cc3694d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"241b4fa900c762bad28da6396cc3694d"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:47Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":155,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.826541,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"241b4fa900c762bad28da6396cc3694d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620327,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyN30.b4oQNVwj_Lk476oHpFa7US5m_s3NHstz1mo5z-i4pv8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"241b4fa900c762bad28da6396cc3694d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b2619ded-5ccd-4015-ad9a-137d48a3b019","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.1757185} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"241b4fa900c762bad28da6396cc3694d","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cbd58ddb-82c5-4624-96e5-6562848c451c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.179739} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"241b4fa900c762bad28da6396cc3694d","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"0a02c551-21b4-4cdb-8025-951c514bffcc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.1947906} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3d6bd95b-6451-4969-ac68-085324d983fa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.1950238} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"241b4fa900c762bad28da6396cc3694d","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:47.194771058Z"}]},"request_id":"e89dfe1a-58c5-4d6d-9867-840c652bf502","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620327.2208529} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"241b4fa900c762bad28da6396cc3694d","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"241b4fa900c762bad28da6396cc3694d"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"241b4fa900c762bad28da6396cc3694d"} device-1 | {"level":"info","message":"POST /devices? 201 86ms","method":"POST","requestID":"241b4fa900c762bad28da6396cc3694d","responseTime":86,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"44600a7abe29de4b4252bd84f80b664b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"44600a7abe29de4b4252bd84f80b664b","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:58:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3a133433-0619-48f6-9d93-498aa40cc112/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":"44600a7abe29de4b4252bd84f80b664b"} device-1 | {"level":"info","message":"OPTIONS /devices/3a133433-0619-48f6-9d93-498aa40cc112/websocket 200 1ms","method":"OPTIONS","requestID":"44600a7abe29de4b4252bd84f80b664b","responseTime":1,"status":200,"url":"/devices/3a133433-0619-48f6-9d93-498aa40cc112/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a40dbba2c40c95b2edf7912b56161a4e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a40dbba2c40c95b2edf7912b56161a4e","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:58:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1b786086-697d-4f66-8a41-1cf002b30c5a/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":"a40dbba2c40c95b2edf7912b56161a4e"} device-1 | {"level":"info","message":"OPTIONS /devices/1b786086-697d-4f66-8a41-1cf002b30c5a/websocket 200 1ms","method":"OPTIONS","requestID":"a40dbba2c40c95b2edf7912b56161a4e","responseTime":1,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U","level":"info","message":"auth send jwt","requestID":"01484e062991b88079732301897f0a38"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"01484e062991b88079732301897f0a38","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"01484e062991b88079732301897f0a38"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U","level":"info","message":"auth send jwt","requestID":"5c77a15643c13ead9d71f6bcb6361332"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5c77a15643c13ead9d71f6bcb6361332","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"5c77a15643c13ead9d71f6bcb6361332"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":156,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702833,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"01484e062991b88079732301897f0a38","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620329,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"01484e062991b88079732301897f0a38","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":157,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.564255,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5c77a15643c13ead9d71f6bcb6361332","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620329,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5c77a15643c13ead9d71f6bcb6361332","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"5c77a15643c13ead9d71f6bcb6361332"} gateway-1 | {"time_local":"02/Apr/2025:18:58:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1b786086-697d-4f66-8a41-1cf002b30c5a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.014","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5c77a15643c13ead9d71f6bcb6361332"} device-1 | {"level":"info","message":"POST /devices/1b786086-697d-4f66-8a41-1cf002b30c5a/websocket 200 10ms","method":"POST","requestID":"5c77a15643c13ead9d71f6bcb6361332","responseTime":10,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"01484e062991b88079732301897f0a38"} gateway-1 | {"time_local":"02/Apr/2025:18:58:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3a133433-0619-48f6-9d93-498aa40cc112/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.055","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"01484e062991b88079732301897f0a38"} device-1 | {"level":"info","message":"POST /devices/3a133433-0619-48f6-9d93-498aa40cc112/websocket 200 51ms","method":"POST","requestID":"01484e062991b88079732301897f0a38","responseTime":51,"status":200,"url":"/devices/3a133433-0619-48f6-9d93-498aa40cc112/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U","level":"info","message":"auth send jwt","requestID":"ed8cb1d9d6fa4a0bba00e6d250f4498d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ed8cb1d9d6fa4a0bba00e6d250f4498d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ed8cb1d9d6fa4a0bba00e6d250f4498d"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":158,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.770149,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ed8cb1d9d6fa4a0bba00e6d250f4498d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620329,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ed8cb1d9d6fa4a0bba00e6d250f4498d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:47.194771058Z"}]},"request_id":"9211232d-2ba5-484c-a510-2cdb332f3c7f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620329.6861358} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ed8cb1d9d6fa4a0bba00e6d250f4498d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ed8cb1d9d6fa4a0bba00e6d250f4498d"} device-1 | {"level":"info","message":"GET /devices/1b786086-697d-4f66-8a41-1cf002b30c5a? 200 10ms","method":"GET","requestID":"ed8cb1d9d6fa4a0bba00e6d250f4498d","responseTime":10,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a?"} gateway-1 | {"time_local":"02/Apr/2025:18:58:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1b786086-697d-4f66-8a41-1cf002b30c5a? 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":"ed8cb1d9d6fa4a0bba00e6d250f4498d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U","level":"info","message":"auth send jwt","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":159,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.841885,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9c0e5fea4799f5cf4bb06202eb06ca43","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620329,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Attempting to run experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Attempting to book experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Successfully booked experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"834db470-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"834ddb80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":160,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.594016,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/13fcfccf-7bb6-4211-82ba-474da12d1a57","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"834db470-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/13fcfccf-7bb6-4211-82ba-474da12d1a57","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620329,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"834db470-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":161,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.404122,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"834ddb80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620329,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 22ms","method":"POST","requestID":"834ddb80-0ff4-11f0-acd3-db29ca75a471","responseTime":22,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13fcfccf-7bb6-4211-82ba-474da12d1a57","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F13fcfccf-7bb6-4211-82ba-474da12d1a57","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:47.127680272Z"}]},"request_id":"fca641fb-365c-4a2e-8693-2236dc139602","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620329.8108618} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"834db470-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:47.194771058Z"}]},"request_id":"36248647-9c50-42e5-a55e-231cecf3295e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620329.812992} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"834ddb80-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"834ddb80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/1b786086-697d-4f66-8a41-1cf002b30c5a? 200 34ms","method":"GET","requestID":"834ddb80-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a?"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":162,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.736426,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"834db470-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620329,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"834db470-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"834db470-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/13fcfccf-7bb6-4211-82ba-474da12d1a57? 200 38ms","method":"GET","requestID":"834db470-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/13fcfccf-7bb6-4211-82ba-474da12d1a57?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Setting up experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Successfully locked booking for experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Attempting to update booking for experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Successfully updated booking for experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Successfully set up experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83611560-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"83616380-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8361b1a0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":163,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91068,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83611560-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620329,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"83611560-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":164,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.471407,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Successfully running experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83616380-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620329,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"83616380-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":165,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.522137,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3b46c9f4-a9c4-43f1-84de-de4e220318d9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620329.9228923} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8361b1a0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"8361b1a0-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:47.028492486Z"}]},"request_id":"ac3abcbe-5d48-4583-b989-ac96f92c873a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620329.925799} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","method":"POST","requestID":"83611560-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:47.194771058Z"}]},"request_id":"19c81302-4b7a-4eed-937e-d4de54317470","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620329.9572027} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"83616380-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8361b1a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3a133433-0619-48f6-9d93-498aa40cc112/signaling 200 47ms","method":"POST","requestID":"8361b1a0-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/3a133433-0619-48f6-9d93-498aa40cc112/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83611560-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/3a133433-0619-48f6-9d93-498aa40cc112? 200 58ms","method":"GET","requestID":"83611560-0ff4-11f0-acd3-db29ca75a471","responseTime":58,"status":200,"url":"/devices/3a133433-0619-48f6-9d93-498aa40cc112?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"836a1610-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"83616380-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/1b786086-697d-4f66-8a41-1cf002b30c5a? 200 59ms","method":"GET","requestID":"83616380-0ff4-11f0-acd3-db29ca75a471","responseTime":59,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feec95fec-2c22-4121-abd7-8fe7b0dec6af#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feec95fec-2c22-4121-abd7-8fe7b0dec6af","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"2514557e-4c29-4571-b690-0d4223006383","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620329.9710386} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"049e93bd-8495-4da8-8925-635e5f1fad9b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620329.971663} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:49Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"836ab250-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/update 200 50ms","method":"POST","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43","responseTime":50,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3859776e-66f7-4c42-a125-45b2310fee82","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620329.973867} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":166,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.98419,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:49Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"836a1610-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"836a1610-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"836a1610-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1b786086-697d-4f66-8a41-1cf002b30c5a/signaling 200 35ms","method":"POST","requestID":"836a1610-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0711b36-9349-43b8-80fd-7fa820bc75d2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.0063732} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":167,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.872936,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 289ms","method":"POST","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43","responseTime":289,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:58:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.317","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"836ab250-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","object_type":"device","rebac_allow":false,"scope_allow":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":"836ab250-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg","level":"info","message":"auth send jwt","requestID":"d6064e7bce52da1d8104e4cb5cbac401"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"d6064e7bce52da1d8104e4cb5cbac401","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d6064e7bce52da1d8104e4cb5cbac401"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":168,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.874456,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d6064e7bce52da1d8104e4cb5cbac401","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620330,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"836ab250-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d6064e7bce52da1d8104e4cb5cbac401","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/3a133433-0619-48f6-9d93-498aa40cc112/signaling 200 49ms","method":"POST","requestID":"836ab250-0ff4-11f0-acd3-db29ca75a471","responseTime":49,"status":200,"url":"/devices/3a133433-0619-48f6-9d93-498aa40cc112/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83764b10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:47.028492486Z"}]},"request_id":"71f95b0c-67b8-49c3-a892-b9ccdeed3cc4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.0504255} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"d6064e7bce52da1d8104e4cb5cbac401","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3e70f5dc-19b4-4d55-8124-a08c1757bf2b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.0537093} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":169,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.062799,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d6064e7bce52da1d8104e4cb5cbac401"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83764b10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","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":"02/Apr/2025:18:58:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3a133433-0619-48f6-9d93-498aa40cc112? HTTP/1.1","status": "200","body_bytes_sent":"283","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d6064e7bce52da1d8104e4cb5cbac401"} device-1 | {"level":"info","message":"GET /devices/3a133433-0619-48f6-9d93-498aa40cc112? 200 38ms","method":"GET","requestID":"d6064e7bce52da1d8104e4cb5cbac401","responseTime":38,"status":200,"url":"/devices/3a133433-0619-48f6-9d93-498aa40cc112?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"83764b10-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83764b10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1b786086-697d-4f66-8a41-1cf002b30c5a/signaling 200 10ms","method":"POST","requestID":"83764b10-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg","level":"info","message":"auth send jwt","requestID":"03fa4d128e1ae2c465867f42edde3a99"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Building connection plan","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"1c401615-d75c-471f-8305-5b86ffcd9ad1"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c65b42ac-acd9-4bd2-ae80-4bb8ce72e5f6"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"694bfad6-bea9-4c98-9eeb-7b443b8e74b6"}]},"level":"info","message":"Built pairwise service configurations","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"03fa4d128e1ae2c465867f42edde3a99","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"03fa4d128e1ae2c465867f42edde3a99"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":170,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.960474,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"03fa4d128e1ae2c465867f42edde3a99","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620330,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"03fa4d128e1ae2c465867f42edde3a99","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":171,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.719958,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620329,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMyOX0.V_nQcfnLPzldM2_6qK1moSyotBAv8x2orxeGRxUJa1U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:47.194771058Z"}]},"request_id":"1bee54c9-d5ba-4c0f-96ff-8a957b93480c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.0708866} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"03fa4d128e1ae2c465867f42edde3a99","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"94eb6303-6ef1-4827-8b8c-215414cddedc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.098929} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bcd368c2-2be8-4e09-8399-9f8b597d59cc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.0995336} authorization-1 | {"level":"info","message":"POST /relations/update 200 27ms","method":"POST","requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471","responseTime":27,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"03fa4d128e1ae2c465867f42edde3a99"} gateway-1 | {"time_local":"02/Apr/2025:18:58:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1b786086-697d-4f66-8a41-1cf002b30c5a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03fa4d128e1ae2c465867f42edde3a99"} device-1 | {"level":"info","message":"GET /devices/1b786086-697d-4f66-8a41-1cf002b30c5a? 200 42ms","method":"GET","requestID":"03fa4d128e1ae2c465867f42edde3a99","responseTime":42,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0'","requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0'","requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 60ms","method":"POST","requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471","responseTime":60,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"83786df0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","device":"1b786086-697d-4f66-8a41-1cf002b30c5a","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/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","device":"3a133433-0619-48f6-9d93-498aa40cc112","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"9c0e5fea4799f5cf4bb06202eb06ca43"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"838c6b20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5cf61b6f-5312-4f4f-a3c1-5dd10e48596e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.1984224} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":172,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.672592,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"838c6b20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"838c6b20-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"838c6b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3a133433-0619-48f6-9d93-498aa40cc112/signaling 200 13ms","method":"POST","requestID":"838c6b20-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/3a133433-0619-48f6-9d93-498aa40cc112/signaling"} device-1 | {"device":"1b786086-697d-4f66-8a41-1cf002b30c5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1b786086-697d-4f66-8a41-1cf002b30c5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"3a133433-0619-48f6-9d93-498aa40cc112","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"3a133433-0619-48f6-9d93-498aa40cc112","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"838edc20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"817f08d7-7f59-4919-b676-bb1d4f08d28a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.21479} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":173,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.746133,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"838edc20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","object_type":"device","rebac_allow":false,"scope_allow":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":"838edc20-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"838edc20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1b786086-697d-4f66-8a41-1cf002b30c5a/signaling 200 35ms","method":"POST","requestID":"838edc20-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 8164671326501591968 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:+hfQ\r\na=ice-pwd:gA0yi8BoP7EsuRCLm8+/jzPc\r\na=ice-options:trickle\r\na=fingerprint:sha-256 89:EB:BA:71:C5:FC:8C:1A:0E:0C:3D:A3:9B:76:3A:38:53:48:01:7A:EF:E9:C9:58:A4:BB:81:BA:70:38:FB:45\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"3a133433-0619-48f6-9d93-498aa40cc112","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 7429091588360468668 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:z46O\r\na=ice-pwd:aODz3VvKMaKcxU0aYXn5sNHD\r\na=ice-options:trickle\r\na=fingerprint:sha-256 A0:C7:41:95:97:8C:AF:8C:EE:AE:15:93:B0:F2:46:CB:D1:18:DB:D4:01:83:EC:6D:35:D4:89:93:36:A4:73:8A\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"1b786086-697d-4f66-8a41-1cf002b30c5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3532118810 1 udp 2113937151 532e06d4-91a8-41a8-a685-68087d1d3430.local 40609 typ host generation 0 ufrag z46O network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1b786086-697d-4f66-8a41-1cf002b30c5a","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/1b786086-697d-4f66-8a41-1cf002b30c5a'"} device-1 | {"content":{"candidate":"candidate:2252692371 1 udp 2113937151 7ddbb60d-dabf-45bb-b068-227e7e92e2c6.local 39532 typ host generation 0 ufrag +hfQ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3a133433-0619-48f6-9d93-498aa40cc112","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"3a133433-0619-48f6-9d93-498aa40cc112","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1b786086-697d-4f66-8a41-1cf002b30c5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"1b786086-697d-4f66-8a41-1cf002b30c5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"3a133433-0619-48f6-9d93-498aa40cc112","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c33e8fdd8cde8ef12577b8e3ced1d1da","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c33e8fdd8cde8ef12577b8e3ced1d1da","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/1b786086-697d-4f66-8a41-1cf002b30c5a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0"}}},"level":"info","message":"received a callback","requestID":"c33e8fdd8cde8ef12577b8e3ced1d1da"} device-1 | {"device":"1b786086-697d-4f66-8a41-1cf002b30c5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"3a133433-0619-48f6-9d93-498aa40cc112","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"1b786086-697d-4f66-8a41-1cf002b30c5a","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"c33e8fdd8cde8ef12577b8e3ced1d1da","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch","requestID":"c33e8fdd8cde8ef12577b8e3ced1d1da"} device-1 | {"data":{"peerconnection":"d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","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/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7a2a777dfb1eb8fb9256f534b9303f6f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7a2a777dfb1eb8fb9256f534b9303f6f","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/1b786086-697d-4f66-8a41-1cf002b30c5a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0"}}},"level":"info","message":"received a callback","requestID":"7a2a777dfb1eb8fb9256f534b9303f6f"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"83a438e0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd3c4164c-9c45-4b69-8eca-67c49e1f0ef0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f6fa69e-d4cf-4ac4-b57a-ff37cdd1522c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.3542638} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":174,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.6649,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83a438e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","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":"83a438e0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"83a438e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0 200 8ms","method":"GET","requestID":"83a438e0-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"7a2a777dfb1eb8fb9256f534b9303f6f","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.053","http_referrer":"","http_user_agent":"node-fetch","requestID":"7a2a777dfb1eb8fb9256f534b9303f6f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83ab3dc0-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg","level":"info","message":"auth send jwt","requestID":"ec96fab4399cc8d812cba978f1de1285"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ec96fab4399cc8d812cba978f1de1285","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af","requestID":"ec96fab4399cc8d812cba978f1de1285"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bedaec09-1dc7-4e2a-8dbd-1a22b303e179","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.4015875} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":175,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.738109,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83ab3dc0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"83ab3dc0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":176,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.708594,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ec96fab4399cc8d812cba978f1de1285","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620330,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ec96fab4399cc8d812cba978f1de1285","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83ab3dc0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1b786086-697d-4f66-8a41-1cf002b30c5a/signaling 200 11ms","method":"POST","requestID":"83ab3dc0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83b10a20-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af","requestID":"ec96fab4399cc8d812cba978f1de1285"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} experiment-1 | {"level":"info","message":"GET /experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af 200 38ms","method":"GET","requestID":"ec96fab4399cc8d812cba978f1de1285","responseTime":38,"status":200,"url":"/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"} gateway-1 | {"time_local":"02/Apr/2025:18:58:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ec96fab4399cc8d812cba978f1de1285"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3da574ff-a75e-43f3-be53-1f29599b8c67","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.4395578} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":177,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.235204,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83b10a20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","object_type":"device","rebac_allow":false,"scope_allow":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":"83b10a20-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg","level":"info","message":"auth send jwt","requestID":"a8ee52b97d1b789eccc54243eb77b451"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a8ee52b97d1b789eccc54243eb77b451","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af","requestID":"a8ee52b97d1b789eccc54243eb77b451"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83b10a20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3a133433-0619-48f6-9d93-498aa40cc112/signaling 200 11ms","method":"POST","requestID":"83b10a20-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/3a133433-0619-48f6-9d93-498aa40cc112/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":178,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.832399,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a8ee52b97d1b789eccc54243eb77b451","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620330,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a8ee52b97d1b789eccc54243eb77b451","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Attempting to finish experiment","requestID":"a8ee52b97d1b789eccc54243eb77b451"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"83b3f050-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":179,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":26.006481,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83b3f050-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620330,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"83b3f050-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","device":"1b786086-697d-4f66-8a41-1cf002b30c5a","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","device":"3a133433-0619-48f6-9d93-498aa40cc112","deviceName":"Internal Test Device","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a914dbe11f711a523dd1dee4ea50ef8f","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a914dbe11f711a523dd1dee4ea50ef8f","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0"}}},"level":"info","message":"received a callback","requestID":"a914dbe11f711a523dd1dee4ea50ef8f"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff596a01-62d1-4064-b5e9-f0e696187386","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.4960637} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ebabd26379eea5dc3483420cef1d8f77","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd3c4164c-9c45-4b69-8eca-67c49e1f0ef0': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd3c4164c-9c45-4b69-8eca-67c49e1f0ef0","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"da6d6254-3e2a-4c83-8451-dc01f268df57","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.4963782} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ebabd26379eea5dc3483420cef1d8f77","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/1b786086-697d-4f66-8a41-1cf002b30c5a"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0"}}},"level":"info","message":"received a callback","requestID":"ebabd26379eea5dc3483420cef1d8f77"} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"83b3f050-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"d3c4164c-9c45-4b69-8eca-67c49e1f0ef0","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"83b3f050-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0 204 85ms","method":"DELETE","requestID":"83b3f050-0ff4-11f0-acd3-db29ca75a471","responseTime":85,"status":204,"url":"/peerconnections/d3c4164c-9c45-4b69-8eca-67c49e1f0ef0"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"},"level":"info","message":"Successfully finished experiment","requestID":"a8ee52b97d1b789eccc54243eb77b451"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83c380b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1b786086-697d-4f66-8a41-1cf002b30c5a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e155c03a-b921-4d84-be63-5e55e551e249","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.5816712} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":180,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.288324,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83c380b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"83c380b0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83c380b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1b786086-697d-4f66-8a41-1cf002b30c5a/signaling 200 32ms","method":"POST","requestID":"83c380b0-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/devices/1b786086-697d-4f66-8a41-1cf002b30c5a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"83c8b0d0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feec95fec-2c22-4121-abd7-8fe7b0dec6af': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Feec95fec-2c22-4121-abd7-8fe7b0dec6af","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"0c2936c5-5a1e-4b50-9b04-7d9f1b416461","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.5911176} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c4affa27-3291-4142-a6fa-b71840c05aef","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.591316} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"a8ee52b97d1b789eccc54243eb77b451","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3a133433-0619-48f6-9d93-498aa40cc112","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd28eaa2-7be0-4a80-b511-8a12ed21a2ea","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.5946083} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":181,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.668431,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83c8b0d0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"83c8b0d0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"83c8b0d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3a133433-0619-48f6-9d93-498aa40cc112/signaling 200 11ms","method":"POST","requestID":"83c8b0d0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/3a133433-0619-48f6-9d93-498aa40cc112/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af","requestID":"a8ee52b97d1b789eccc54243eb77b451"} gateway-1 | {"time_local":"02/Apr/2025:18:58:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af 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":"a8ee52b97d1b789eccc54243eb77b451"} experiment-1 | {"level":"info","message":"DELETE /experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af 204 242ms","method":"DELETE","requestID":"a8ee52b97d1b789eccc54243eb77b451","responseTime":242,"status":204,"url":"/experiments/eec95fec-2c22-4121-abd7-8fe7b0dec6af"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 193ms","method":"POST","requestID":"a914dbe11f711a523dd1dee4ea50ef8f","responseTime":193,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.195","http_referrer":"","http_user_agent":"node-fetch","requestID":"a914dbe11f711a523dd1dee4ea50ef8f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 192ms","method":"POST","requestID":"ebabd26379eea5dc3483420cef1d8f77","responseTime":192,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.196","http_referrer":"","http_user_agent":"node-fetch","requestID":"ebabd26379eea5dc3483420cef1d8f77"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg","level":"info","message":"auth send jwt","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:58:50 +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.087","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1bdbae266eb5a7f240030c8f9079b18a"} device-1 | {"level":"info","message":"postDevices called","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd"} gateway-1 | {"time_local":"02/Apr/2025:18:58:50 +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.107","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"ba0f90bad4585c1136fb0e3e440d2e01"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":182,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.057405,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7f1fcf02ea2395cc547d47cdc89dfccd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620330,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1b786086-697d-4f66-8a41-1cf002b30c5a' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3a133433-0619-48f6-9d93-498aa40cc112' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"9139c6c3-cf0f-49fe-8716-a7135fad1f83","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.7809415} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7a465108-0bfa-4718-ae03-3702c29fe85b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.7869225} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"67f78ece-c43e-47e5-9353-1c93a5c50dc1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.821834} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d3db7843-8831-4eaa-ba76-763cd081b560","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.82193} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.821811748Z"}]},"request_id":"33d59484-d312-4989-b354-09099107c9e0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.826706} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd"} device-1 | {"level":"info","message":"POST /devices? 201 101ms","method":"POST","requestID":"7f1fcf02ea2395cc547d47cdc89dfccd","responseTime":101,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg","level":"info","message":"auth send jwt","requestID":"ca061c63583b5081608e8ada703f5ef6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"ca061c63583b5081608e8ada703f5ef6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ca061c63583b5081608e8ada703f5ef6"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":183,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.831658,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ca061c63583b5081608e8ada703f5ef6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620330,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMH0.WfEPnUL8Za8Z62dN-2rcf1-bpM8IUIuWvrrlBn9OhXg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ca061c63583b5081608e8ada703f5ef6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"2b7c5b3a-29f7-4804-9c05-e699923f03bd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.872278} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca061c63583b5081608e8ada703f5ef6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6aa099e-9bad-49fa-9203-7f54c1a6486e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.8764136} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ca061c63583b5081608e8ada703f5ef6","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"2986e1ea-8f7c-464e-8500-1ef31c78cf3d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.8842618} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"df2b9200-d854-475e-9e6d-a6049d418ac4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.88455} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"ca061c63583b5081608e8ada703f5ef6","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.884241391Z"}]},"request_id":"9a39bd78-b6bf-4f57-8730-3b91c6eb8350","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620330.8883007} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"ca061c63583b5081608e8ada703f5ef6","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ca061c63583b5081608e8ada703f5ef6"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ca061c63583b5081608e8ada703f5ef6"} device-1 | {"level":"info","message":"POST /devices? 201 81ms","method":"POST","requestID":"ca061c63583b5081608e8ada703f5ef6","responseTime":81,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMX0.XEI0sJNjExZXFHq1x1k79WecT3pNGP8ffv6gx4pdNUM","level":"info","message":"auth send jwt","requestID":"d0644d21512c84bf307c275e452d8590"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d0644d21512c84bf307c275e452d8590","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"d0644d21512c84bf307c275e452d8590"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":184,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.57797,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d0644d21512c84bf307c275e452d8590","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620331,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMX0.XEI0sJNjExZXFHq1x1k79WecT3pNGP8ffv6gx4pdNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 23ms","method":"POST","requestID":"d0644d21512c84bf307c275e452d8590","responseTime":23,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.821811748Z"}]},"request_id":"cb662426-32c0-42d6-80fc-9c646aa8779f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620331.9315624} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0644d21512c84bf307c275e452d8590","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8920e09b-45f9-4965-af70-a2b84bc2a79c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620331.9362943} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d0644d21512c84bf307c275e452d8590","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.821811748Z"}]},"request_id":"5a146e73-de9f-4d3a-8489-388981d64199","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620331.9711561} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d0644d21512c84bf307c275e452d8590","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"d0644d21512c84bf307c275e452d8590"} gateway-1 | {"time_local":"02/Apr/2025:18:58:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ee0134e8-e246-4692-8689-ee7ed05c9955 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.079","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"d0644d21512c84bf307c275e452d8590"} device-1 | {"level":"info","message":"PATCH /devices/ee0134e8-e246-4692-8689-ee7ed05c9955 200 75ms","method":"PATCH","requestID":"d0644d21512c84bf307c275e452d8590","responseTime":75,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMX0.XEI0sJNjExZXFHq1x1k79WecT3pNGP8ffv6gx4pdNUM","level":"info","message":"auth send jwt","requestID":"207fa8b494303d21a9cf1e2b7b33ff43"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"207fa8b494303d21a9cf1e2b7b33ff43","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"207fa8b494303d21a9cf1e2b7b33ff43"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:51Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":185,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.773721,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:51Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"207fa8b494303d21a9cf1e2b7b33ff43","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620331,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzMX0.XEI0sJNjExZXFHq1x1k79WecT3pNGP8ffv6gx4pdNUM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"207fa8b494303d21a9cf1e2b7b33ff43","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"207fa8b494303d21a9cf1e2b7b33ff43"} gateway-1 | {"time_local":"02/Apr/2025:18:58:51 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ee0134e8-e246-4692-8689-ee7ed05c9955/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.16","requestID":"207fa8b494303d21a9cf1e2b7b33ff43"} device-1 | {"level":"info","message":"POST /devices/ee0134e8-e246-4692-8689-ee7ed05c9955/websocket 200 13ms","method":"POST","requestID":"207fa8b494303d21a9cf1e2b7b33ff43","responseTime":13,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cb37600561f8b152434142733851baed","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cb37600561f8b152434142733851baed","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:58:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/f0e85888-0656-4302-9e03-db28f6b1eba6/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":"cb37600561f8b152434142733851baed"} device-1 | {"level":"info","message":"OPTIONS /devices/f0e85888-0656-4302-9e03-db28f6b1eba6/websocket 200 1ms","method":"OPTIONS","requestID":"cb37600561f8b152434142733851baed","responseTime":1,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0","level":"info","message":"auth send jwt","requestID":"082bb7756422a6630f9a5eb0c92db6fc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"082bb7756422a6630f9a5eb0c92db6fc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"082bb7756422a6630f9a5eb0c92db6fc"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":186,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969763,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"082bb7756422a6630f9a5eb0c92db6fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"082bb7756422a6630f9a5eb0c92db6fc","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"082bb7756422a6630f9a5eb0c92db6fc"} gateway-1 | {"time_local":"02/Apr/2025:18:58:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f0e85888-0656-4302-9e03-db28f6b1eba6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.017","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"082bb7756422a6630f9a5eb0c92db6fc"} device-1 | {"level":"info","message":"POST /devices/f0e85888-0656-4302-9e03-db28f6b1eba6/websocket 200 14ms","method":"POST","requestID":"082bb7756422a6630f9a5eb0c92db6fc","responseTime":14,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0","level":"info","message":"auth send jwt","requestID":"2cbd312a4ad5b8faa5b9efe709847421"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2cbd312a4ad5b8faa5b9efe709847421","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2cbd312a4ad5b8faa5b9efe709847421"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":187,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877016,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2cbd312a4ad5b8faa5b9efe709847421","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"2cbd312a4ad5b8faa5b9efe709847421","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.821811748Z"}]},"request_id":"b7efe617-7d1c-4520-8277-e45313bbd31e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.4139788} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2cbd312a4ad5b8faa5b9efe709847421","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2cbd312a4ad5b8faa5b9efe709847421"} gateway-1 | {"time_local":"02/Apr/2025:18:58:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ee0134e8-e246-4692-8689-ee7ed05c9955? 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":"2cbd312a4ad5b8faa5b9efe709847421"} device-1 | {"level":"info","message":"GET /devices/ee0134e8-e246-4692-8689-ee7ed05c9955? 200 35ms","method":"GET","requestID":"2cbd312a4ad5b8faa5b9efe709847421","responseTime":35,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0","level":"info","message":"auth send jwt","requestID":"65755ed31764ae1a071eb38eb63308fb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"65755ed31764ae1a071eb38eb63308fb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"65755ed31764ae1a071eb38eb63308fb"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":188,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.656893,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"65755ed31764ae1a071eb38eb63308fb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"65755ed31764ae1a071eb38eb63308fb","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.884241391Z"}]},"request_id":"1d22df39-317c-4bb4-bf15-874b26040d3a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.42729} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"65755ed31764ae1a071eb38eb63308fb","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"65755ed31764ae1a071eb38eb63308fb"} gateway-1 | {"time_local":"02/Apr/2025:18:58:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f0e85888-0656-4302-9e03-db28f6b1eba6? 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":"65755ed31764ae1a071eb38eb63308fb"} device-1 | {"level":"info","message":"GET /devices/f0e85888-0656-4302-9e03-db28f6b1eba6? 200 9ms","method":"GET","requestID":"65755ed31764ae1a071eb38eb63308fb","responseTime":9,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0","level":"info","message":"auth send jwt","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"72e1797ce6f83c5a69ac6f238457a7bd","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":189,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.750839,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"72e1797ce6f83c5a69ac6f238457a7bd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"72e1797ce6f83c5a69ac6f238457a7bd","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Attempting to run experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Attempting to book experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Successfully booked experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"85886230-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"85888940-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":190,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685092,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"85886230-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"85886230-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":191,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691522,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"85888940-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"85888940-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.821811748Z"}]},"request_id":"ac7d188e-ad82-47fe-a43d-329e5859f8d1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.5557177} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"85886230-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.884241391Z"}]},"request_id":"3251bda9-69e8-42e0-8e0a-07bdccb68ab5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.559125} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"85888940-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"85886230-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/ee0134e8-e246-4692-8689-ee7ed05c9955? 200 40ms","method":"GET","requestID":"85886230-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"85888940-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/f0e85888-0656-4302-9e03-db28f6b1eba6? 200 40ms","method":"GET","requestID":"85888940-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Setting up experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Successfully set up experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"859c1140-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"859c3850-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"859c8670-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Received request.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Successfully running experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} authorization-1 | {"client_addr":"127.0.0.1:52016","level":"info","msg":"Sent response.","req_id":192,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.868753,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":193,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.332513,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"859c1140-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"859c1140-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"859c3850-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"859c3850-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.821811748Z"}]},"request_id":"59d9df89-b786-4e45-996e-8240b918acbb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.6667325} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"859c1140-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.884241391Z"}]},"request_id":"a5bab435-64ac-455e-89ce-a817ffffc427","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.668176} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce91505c-5d35-4b8b-ba94-089892cdff66","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.6687121} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"859c3850-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":194,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.319256,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"859c8670-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","rebac_allow":false,"scope_allow":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":"859c8670-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F710c02d6-e195-4d30-8a3b-4012cd718c0b#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F710c02d6-e195-4d30-8a3b-4012cd718c0b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"48bf9b47-9dc2-4fa3-8007-b1d827bc979b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.673689} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"859c3850-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/f0e85888-0656-4302-9e03-db28f6b1eba6? 200 21ms","method":"GET","requestID":"859c3850-0ff4-11f0-acd3-db29ca75a471","responseTime":21,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"567d39b2-82b9-40bc-8a20-1377233b434e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.6741207} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"859c1140-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"72e1797ce6f83c5a69ac6f238457a7bd","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/ee0134e8-e246-4692-8689-ee7ed05c9955? 200 23ms","method":"GET","requestID":"859c1140-0ff4-11f0-acd3-db29ca75a471","responseTime":23,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"859c8670-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/ee0134e8-e246-4692-8689-ee7ed05c9955/signaling 200 45ms","method":"POST","requestID":"859c8670-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85a42790-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85a44ea0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} gateway-1 | {"time_local":"02/Apr/2025:18:58:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"811","request_time":"0.277","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"692fa2e4-ad02-4160-894a-f60d23317faf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.709677} experiment-1 | {"level":"info","message":"POST /experiments? 201 249ms","method":"POST","requestID":"72e1797ce6f83c5a69ac6f238457a7bd","responseTime":249,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":195,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.096955,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"85a42790-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"85a42790-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"84a59eb0-73af-4b14-8347-452766a05e73","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.7107801} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":196,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.838483,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0","level":"info","message":"auth send jwt","requestID":"701b0979fe495250ff42ad8ef8590244"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"85a44ea0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"85a44ea0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"701b0979fe495250ff42ad8ef8590244","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"701b0979fe495250ff42ad8ef8590244"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85a42790-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/ee0134e8-e246-4692-8689-ee7ed05c9955/signaling 200 13ms","method":"POST","requestID":"85a42790-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85a44ea0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f0e85888-0656-4302-9e03-db28f6b1eba6/signaling 200 13ms","method":"POST","requestID":"85a44ea0-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":197,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.938201,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85aa4210-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"701b0979fe495250ff42ad8ef8590244","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"701b0979fe495250ff42ad8ef8590244","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.821811748Z"}]},"request_id":"87de5b29-41f0-46f6-8593-9426a69d4d4f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.7501361} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"978b5f27-44ab-41ce-962d-a9140dfd04f4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.7502694} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"701b0979fe495250ff42ad8ef8590244","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":198,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.601981,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"85aa4210-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"85aa4210-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"701b0979fe495250ff42ad8ef8590244"} gateway-1 | {"time_local":"02/Apr/2025:18:58:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ee0134e8-e246-4692-8689-ee7ed05c9955? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"701b0979fe495250ff42ad8ef8590244"} device-1 | {"level":"info","message":"GET /devices/ee0134e8-e246-4692-8689-ee7ed05c9955? 200 38ms","method":"GET","requestID":"701b0979fe495250ff42ad8ef8590244","responseTime":38,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85aa4210-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f0e85888-0656-4302-9e03-db28f6b1eba6/signaling 200 11ms","method":"POST","requestID":"85aa4210-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Building connection plan","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"b8f13eff-3dce-4a0c-9307-bacb1ad3cae3"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"454024f6-25d8-436c-bc33-942626309560"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"28371f6a-a143-4848-a3be-ecc6d996f576"}]},"level":"info","message":"Built pairwise service configurations","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0","level":"info","message":"auth send jwt","requestID":"63f6ae9d26bf2cb91d48465b561b8191"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"63f6ae9d26bf2cb91d48465b561b8191","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"85ac64f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"63f6ae9d26bf2cb91d48465b561b8191"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Received request.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:52008","level":"info","msg":"Sent response.","req_id":199,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.922636,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"85ac64f0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"85ac64f0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":200,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.599259,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"63f6ae9d26bf2cb91d48465b561b8191","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620333,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzM30.vY0UYCV28MHdUTJj5gQuoGLzK7GfrHL3VOtJX83-9i0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"63f6ae9d26bf2cb91d48465b561b8191","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:50.884241391Z"}]},"request_id":"d2ff18eb-4248-4161-9f29-5a5d72968178","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.768039} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"63f6ae9d26bf2cb91d48465b561b8191","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"63f6ae9d26bf2cb91d48465b561b8191"} gateway-1 | {"time_local":"02/Apr/2025:18:58:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f0e85888-0656-4302-9e03-db28f6b1eba6? 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":"63f6ae9d26bf2cb91d48465b561b8191"} device-1 | {"level":"info","message":"GET /devices/f0e85888-0656-4302-9e03-db28f6b1eba6? 200 35ms","method":"GET","requestID":"63f6ae9d26bf2cb91d48465b561b8191","responseTime":35,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"e5b28b12-85fb-42bc-a168-00d285458482","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.7965214} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b851fff7-7394-41d3-8405-d33d2d9f012a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.7969067} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"85ac64f0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"85ac64f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"85ac64f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a'","requestID":"85ac64f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a'","requestID":"85ac64f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"85ac64f0-0ff4-11f0-acd3-db29ca75a471"} 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":"85ac64f0-0ff4-11f0-acd3-db29ca75a471","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":"85ac64f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a","device":"f0e85888-0656-4302-9e03-db28f6b1eba6","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":"f0e85888-0656-4302-9e03-db28f6b1eba6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"f0e85888-0656-4302-9e03-db28f6b1eba6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 741144314122426353 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:sSgP\r\na=ice-pwd:7CWcDuK1NRJoK+jSJP/o5ihY\r\na=ice-options:trickle\r\na=fingerprint:sha-256 DD:37:C6:4B:90:AD:CD:57:E9:A8:A5:4D:76:8C:2F:E7:A1:7D:95:C4:8B:08:C1:F7:9E:05:14:C6:D1:BF:6C:F9\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"f0e85888-0656-4302-9e03-db28f6b1eba6","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/f0e85888-0656-4302-9e03-db28f6b1eba6'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"72e1797ce6f83c5a69ac6f238457a7bd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85c236e0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"20e911d5-bcc2-46f3-a47a-325c1e10b1ed","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.9072955} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":201,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.448474,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"85c236e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"85c236e0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85c236e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/ee0134e8-e246-4692-8689-ee7ed05c9955/signaling 200 8ms","method":"POST","requestID":"85c236e0-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"85c78e10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69dcb417-52b5-4830-b78d-4909cee038ef","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620333.9408677} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":202,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.245355,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"85c78e10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"85c78e10-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"85c78e10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f0e85888-0656-4302-9e03-db28f6b1eba6/signaling 200 8ms","method":"POST","requestID":"85c78e10-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6/signaling"} device-1 | {"device":"f0e85888-0656-4302-9e03-db28f6b1eba6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"ee0134e8-e246-4692-8689-ee7ed05c9955","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ee0134e8-e246-4692-8689-ee7ed05c9955","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ee0134e8-e246-4692-8689-ee7ed05c9955","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"db5eabf6-f289-4d34-942b-0dce047bbf2a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"ee0134e8-e246-4692-8689-ee7ed05c9955","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ee0134e8-e246-4692-8689-ee7ed05c9955","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/db5eabf6-f289-4d34-942b-0dce047bbf2a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db5eabf6-f289-4d34-942b-0dce047bbf2a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8a4c9067076d5d28224c0ad539102fd3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8a4c9067076d5d28224c0ad539102fd3","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/ee0134e8-e246-4692-8689-ee7ed05c9955"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a"}}},"level":"info","message":"received a callback","requestID":"8a4c9067076d5d28224c0ad539102fd3"} device-1 | {"content":{"candidate":"candidate:2546543214 1 udp 2113937151 14a36de2-82c7-422a-9307-ff9bcf07da10.local 40466 typ host generation 0 ufrag sSgP network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"f0e85888-0656-4302-9e03-db28f6b1eba6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"8a4c9067076d5d28224c0ad539102fd3","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.008","http_referrer":"","http_user_agent":"node-fetch","requestID":"8a4c9067076d5d28224c0ad539102fd3"} device-1 | {"device":"f0e85888-0656-4302-9e03-db28f6b1eba6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"ee0134e8-e246-4692-8689-ee7ed05c9955","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f0e85888-0656-4302-9e03-db28f6b1eba6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ee0134e8-e246-4692-8689-ee7ed05c9955","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"db5eabf6-f289-4d34-942b-0dce047bbf2a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"db5eabf6-f289-4d34-942b-0dce047bbf2a","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/db5eabf6-f289-4d34-942b-0dce047bbf2a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db5eabf6-f289-4d34-942b-0dce047bbf2a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3a346f18b5cd71db7fecab9cbf04d140","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3a346f18b5cd71db7fecab9cbf04d140","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/ee0134e8-e246-4692-8689-ee7ed05c9955"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a"}}},"level":"info","message":"received a callback","requestID":"3a346f18b5cd71db7fecab9cbf04d140"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"86fdeb30-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:55Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb5eabf6-f289-4d34-942b-0dce047bbf2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4011f69c-fb32-45df-bb32-30f3a223e672","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620335.9759169} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":203,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.414754,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"86fdeb30-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a","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":"86fdeb30-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"86fdeb30-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a 200 8ms","method":"GET","requestID":"86fdeb30-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"3a346f18b5cd71db7fecab9cbf04d140","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"3a346f18b5cd71db7fecab9cbf04d140"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87051720-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0a012f9d-edeb-4616-aa12-31bebf4d8b23","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.0244892} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":204,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.581669,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"87051720-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","rebac_allow":false,"scope_allow":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":"87051720-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87051720-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/ee0134e8-e246-4692-8689-ee7ed05c9955/signaling 200 33ms","method":"POST","requestID":"87051720-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"870a9560-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75a3d326-6c98-49a1-8e6d-c6505a19430f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.0586393} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":205,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.3488,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"870a9560-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"870a9560-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"870a9560-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f0e85888-0656-4302-9e03-db28f6b1eba6/signaling 200 8ms","method":"POST","requestID":"870a9560-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzNn0.OynNd-R-cBfoNNyxQ_BoYZH1h3WJydfSNXIokfeQcRk","level":"info","message":"auth send jwt","requestID":"c2aa20e6de0e737a7dcad8a3984d09c9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c2aa20e6de0e737a7dcad8a3984d09c9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b","requestID":"c2aa20e6de0e737a7dcad8a3984d09c9"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":206,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.85336,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c2aa20e6de0e737a7dcad8a3984d09c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620336,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzNn0.OynNd-R-cBfoNNyxQ_BoYZH1h3WJydfSNXIokfeQcRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c2aa20e6de0e737a7dcad8a3984d09c9","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b","requestID":"c2aa20e6de0e737a7dcad8a3984d09c9"} gateway-1 | {"time_local":"02/Apr/2025:18:58:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b HTTP/1.1","status": "200","body_bytes_sent":"884","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c2aa20e6de0e737a7dcad8a3984d09c9"} experiment-1 | {"level":"info","message":"GET /experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b 200 35ms","method":"GET","requestID":"c2aa20e6de0e737a7dcad8a3984d09c9","responseTime":35,"status":200,"url":"/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzNn0.OynNd-R-cBfoNNyxQ_BoYZH1h3WJydfSNXIokfeQcRk","level":"info","message":"auth send jwt","requestID":"a6536150ef10233432558b39683b1414"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a6536150ef10233432558b39683b1414","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b","requestID":"a6536150ef10233432558b39683b1414"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":207,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.715334,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a6536150ef10233432558b39683b1414","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620336,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzNn0.OynNd-R-cBfoNNyxQ_BoYZH1h3WJydfSNXIokfeQcRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a6536150ef10233432558b39683b1414","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Attempting to finish experiment","requestID":"a6536150ef10233432558b39683b1414"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8727ba50-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":208,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.707902,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8727ba50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620336,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzNn0.OynNd-R-cBfoNNyxQ_BoYZH1h3WJydfSNXIokfeQcRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8727ba50-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a","device":"f0e85888-0656-4302-9e03-db28f6b1eba6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"ee0134e8-e246-4692-8689-ee7ed05c9955","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ee0134e8-e246-4692-8689-ee7ed05c9955","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ee0134e8-e246-4692-8689-ee7ed05c9955","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/db5eabf6-f289-4d34-942b-0dce047bbf2a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"db5eabf6-f289-4d34-942b-0dce047bbf2a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb5eabf6-f289-4d34-942b-0dce047bbf2a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fdb5eabf6-f289-4d34-942b-0dce047bbf2a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"9fccd310-6ff6-4079-859e-27ec4a843566","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.2613153} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0bb34ad9-df25-4381-80b6-214e95690176","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.2615752} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d91d4dbbf568c66ba0fda4f11dc931d6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d91d4dbbf568c66ba0fda4f11dc931d6","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"8727ba50-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a"}}},"level":"info","message":"received a callback","requestID":"d91d4dbbf568c66ba0fda4f11dc931d6"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fc7efef789fc6dffa9d8d17921882e43","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fc7efef789fc6dffa9d8d17921882e43","responseTime":0,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8727ba50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a 204 46ms","method":"DELETE","requestID":"8727ba50-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":204,"url":"/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/db5eabf6-f289-4d34-942b-0dce047bbf2a"}}},"level":"info","message":"received a callback","requestID":"fc7efef789fc6dffa9d8d17921882e43"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"},"level":"info","message":"Successfully finished experiment","requestID":"a6536150ef10233432558b39683b1414"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"87313030-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fee0134e8-e246-4692-8689-ee7ed05c9955","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"953a1b89-2b48-4a70-883b-da513b7bc865","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.3116322} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":209,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.55599,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"87313030-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955","object_type":"device","rebac_allow":false,"scope_allow":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":"87313030-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F710c02d6-e195-4d30-8a3b-4012cd718c0b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F710c02d6-e195-4d30-8a3b-4012cd718c0b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"744e4839-5c8d-4b09-9f2a-65024a1a1ef5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.3396842} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"87313030-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/ee0134e8-e246-4692-8689-ee7ed05c9955/signaling 200 33ms","method":"POST","requestID":"87313030-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/devices/ee0134e8-e246-4692-8689-ee7ed05c9955/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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"094c421e-d173-4e1e-b389-44389c91ce79","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.3419774} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8736ae70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"a6536150ef10233432558b39683b1414","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff0e85888-0656-4302-9e03-db28f6b1eba6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3251ae8-27e4-43ba-930b-490ef35af2da","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.347083} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":210,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.549667,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8736ae70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8736ae70-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8736ae70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f0e85888-0656-4302-9e03-db28f6b1eba6/signaling 200 9ms","method":"POST","requestID":"8736ae70-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/f0e85888-0656-4302-9e03-db28f6b1eba6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b","requestID":"a6536150ef10233432558b39683b1414"} gateway-1 | {"time_local":"02/Apr/2025:18:58:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.233","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6536150ef10233432558b39683b1414"} experiment-1 | {"level":"info","message":"DELETE /experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b 204 230ms","method":"DELETE","requestID":"a6536150ef10233432558b39683b1414","responseTime":230,"status":204,"url":"/experiments/710c02d6-e195-4d30-8a3b-4012cd718c0b"} gateway-1 | {"time_local":"02/Apr/2025:18:58:56 +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.446","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"ecf6f4b1453e115a750fb6d5c1144075"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 151ms","method":"POST","requestID":"d91d4dbbf568c66ba0fda4f11dc931d6","responseTime":151,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.177","http_referrer":"","http_user_agent":"node-fetch","requestID":"d91d4dbbf568c66ba0fda4f11dc931d6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzNn0.OynNd-R-cBfoNNyxQ_BoYZH1h3WJydfSNXIokfeQcRk","level":"info","message":"auth send jwt","requestID":"2fa619f1ccba92047fbff0a5bfe938a5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2fa619f1ccba92047fbff0a5bfe938a5","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 156ms","method":"POST","requestID":"fc7efef789fc6dffa9d8d17921882e43","responseTime":156,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":211,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.957353,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:56Z"} gateway-1 | {"time_local":"02/Apr/2025:18:58:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2543","request_time":"3.080","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"599c1758d8d90e9dfe04fe433348b745"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"fc7efef789fc6dffa9d8d17921882e43"} device-1 | {"level":"info","message":"postDevices called","requestID":"2fa619f1ccba92047fbff0a5bfe938a5"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2fa619f1ccba92047fbff0a5bfe938a5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620336,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzNn0.OynNd-R-cBfoNNyxQ_BoYZH1h3WJydfSNXIokfeQcRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"2fa619f1ccba92047fbff0a5bfe938a5","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f0e85888-0656-4302-9e03-db28f6b1eba6' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ee0134e8-e246-4692-8689-ee7ed05c9955' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"65879cca-95ed-45ef-9cdc-9bf05bda8840","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.4927173} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"2fa619f1ccba92047fbff0a5bfe938a5","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6dc93a8b-8370-4265-90a8-a885c915fe8e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.4977877} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"2fa619f1ccba92047fbff0a5bfe938a5","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"1b53c28b-1d12-4d41-af9a-acbcdbe49881","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.5325308} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6de702b3-89c9-4ad3-a439-2a00ec34d66b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.533534} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"2fa619f1ccba92047fbff0a5bfe938a5","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:56.532515001Z"}]},"request_id":"3b8a47c1-a7fd-4d03-90f8-6b513a5ed8c2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.539077} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2fa619f1ccba92047fbff0a5bfe938a5","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"2fa619f1ccba92047fbff0a5bfe938a5"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.099","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2fa619f1ccba92047fbff0a5bfe938a5"} device-1 | {"level":"info","message":"POST /devices? 201 94ms","method":"POST","requestID":"2fa619f1ccba92047fbff0a5bfe938a5","responseTime":94,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzNn0.OynNd-R-cBfoNNyxQ_BoYZH1h3WJydfSNXIokfeQcRk","level":"info","message":"auth send jwt","requestID":"ee8c9e87430835535283fbfdfb1e773c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ee8c9e87430835535283fbfdfb1e773c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ee8c9e87430835535283fbfdfb1e773c"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":212,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.845364,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ee8c9e87430835535283fbfdfb1e773c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620336,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzNn0.OynNd-R-cBfoNNyxQ_BoYZH1h3WJydfSNXIokfeQcRk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ee8c9e87430835535283fbfdfb1e773c","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bd90e949-c886-4126-9e1f-e3211de2ec5c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.5876985} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ee8c9e87430835535283fbfdfb1e773c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"42cec5eb-4773-4eb0-8e90-daf4955cc358","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.592515} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"ee8c9e87430835535283fbfdfb1e773c","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"5c112b6c-af6c-4edf-9aa9-579e3b5b9896","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.6005695} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bf5cc756-1806-4299-9fcd-e54ce37ddd26","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.6249866} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"ee8c9e87430835535283fbfdfb1e773c","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:56.600554567Z"}]},"request_id":"09cdbe30-88d0-4ad0-b00b-46211e8699b8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620336.6291974} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ee8c9e87430835535283fbfdfb1e773c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ee8c9e87430835535283fbfdfb1e773c"} gateway-1 | {"time_local":"02/Apr/2025:18:58: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.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ee8c9e87430835535283fbfdfb1e773c"} device-1 | {"level":"info","message":"POST /devices? 201 84ms","method":"POST","requestID":"ee8c9e87430835535283fbfdfb1e773c","responseTime":84,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1619c8f8d26ba2e8ebf6667305bd85a5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1619c8f8d26ba2e8ebf6667305bd85a5","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:58:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1619c8f8d26ba2e8ebf6667305bd85a5"} device-1 | {"level":"info","message":"OPTIONS /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/websocket 200 0ms","method":"OPTIONS","requestID":"1619c8f8d26ba2e8ebf6667305bd85a5","responseTime":0,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOH0.5ryzhg3sKEco7g_zZPZAyzXxhooAaCljYruR1rJOQpY","level":"info","message":"auth send jwt","requestID":"faffa054d9e8d4a0cb67f327c25917e0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"faffa054d9e8d4a0cb67f327c25917e0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"faffa054d9e8d4a0cb67f327c25917e0"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:58Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":213,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.675981,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:58Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"faffa054d9e8d4a0cb67f327c25917e0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620338,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOH0.5ryzhg3sKEco7g_zZPZAyzXxhooAaCljYruR1rJOQpY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"faffa054d9e8d4a0cb67f327c25917e0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"faffa054d9e8d4a0cb67f327c25917e0"} gateway-1 | {"time_local":"02/Apr/2025:18:58:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"faffa054d9e8d4a0cb67f327c25917e0"} device-1 | {"level":"info","message":"POST /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/websocket 200 39ms","method":"POST","requestID":"faffa054d9e8d4a0cb67f327c25917e0","responseTime":39,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0744b2e28ba28b033e975e64112ef799","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0744b2e28ba28b033e975e64112ef799","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:58:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"0744b2e28ba28b033e975e64112ef799"} device-1 | {"level":"info","message":"OPTIONS /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/websocket 200 0ms","method":"OPTIONS","requestID":"0744b2e28ba28b033e975e64112ef799","responseTime":0,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw","level":"info","message":"auth send jwt","requestID":"8cac0a49819cab9eb9b96066def2cfa8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8cac0a49819cab9eb9b96066def2cfa8","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8cac0a49819cab9eb9b96066def2cfa8"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":214,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.819621,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8cac0a49819cab9eb9b96066def2cfa8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8cac0a49819cab9eb9b96066def2cfa8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8cac0a49819cab9eb9b96066def2cfa8"} gateway-1 | {"time_local":"02/Apr/2025:18:58:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/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":"8cac0a49819cab9eb9b96066def2cfa8"} device-1 | {"level":"info","message":"POST /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/websocket 200 39ms","method":"POST","requestID":"8cac0a49819cab9eb9b96066def2cfa8","responseTime":39,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw","level":"info","message":"auth send jwt","requestID":"cd19a03fee3a9b9f9451d39cd6682ccc"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"cd19a03fee3a9b9f9451d39cd6682ccc","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cd19a03fee3a9b9f9451d39cd6682ccc"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":215,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.358261,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cd19a03fee3a9b9f9451d39cd6682ccc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cd19a03fee3a9b9f9451d39cd6682ccc","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:56.532515001Z"}]},"request_id":"bb9ca901-39b3-43e4-8edb-f2dab16c585f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.1844308} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"cd19a03fee3a9b9f9451d39cd6682ccc","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cd19a03fee3a9b9f9451d39cd6682ccc"} gateway-1 | {"time_local":"02/Apr/2025:18:58:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d? 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":"cd19a03fee3a9b9f9451d39cd6682ccc"} device-1 | {"level":"info","message":"GET /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d? 200 12ms","method":"GET","requestID":"cd19a03fee3a9b9f9451d39cd6682ccc","responseTime":12,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw","level":"info","message":"auth send jwt","requestID":"7c264f7b8fac04a906bf46eccf0e46db"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"7c264f7b8fac04a906bf46eccf0e46db","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7c264f7b8fac04a906bf46eccf0e46db"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":216,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703996,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c264f7b8fac04a906bf46eccf0e46db","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7c264f7b8fac04a906bf46eccf0e46db","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:56.600554567Z"}]},"request_id":"f5a9bed3-e28d-4232-a2c9-087be0297295","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.2250977} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7c264f7b8fac04a906bf46eccf0e46db","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7c264f7b8fac04a906bf46eccf0e46db"} gateway-1 | {"time_local":"02/Apr/2025:18:58:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14? 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":"7c264f7b8fac04a906bf46eccf0e46db"} device-1 | {"level":"info","message":"GET /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14? 200 11ms","method":"GET","requestID":"7c264f7b8fac04a906bf46eccf0e46db","responseTime":11,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw","level":"info","message":"auth send jwt","requestID":"466712860e1d1edba7e54e80058edaa4"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"466712860e1d1edba7e54e80058edaa4","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"466712860e1d1edba7e54e80058edaa4"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":217,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.727451,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"466712860e1d1edba7e54e80058edaa4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"466712860e1d1edba7e54e80058edaa4","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Attempting to run experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Attempting to book experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Successfully booked experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"88fe00f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"88fe4f10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":218,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.642197,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"88fe00f0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"88fe00f0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":219,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760092,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"88fe4f10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"88fe4f10-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:56.532515001Z"}]},"request_id":"783465cc-b0fb-4da4-8a20-c0b14b05ece5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.3351443} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"88fe00f0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"88fe00f0-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d? 200 37ms","method":"GET","requestID":"88fe00f0-0ff4-11f0-acd3-db29ca75a471","responseTime":37,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:56.600554567Z"}]},"request_id":"aa9e1b7d-3332-4b28-a2f8-9ae977b204aa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.3634293} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"88fe4f10-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"88fe4f10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14? 200 38ms","method":"GET","requestID":"88fe4f10-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Setting up experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Successfully locked booking for experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Attempting to update booking for experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Successfully updated booking for experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Successfully set up experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8911fe20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"89122530-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89127350-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Successfully running experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":220,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.065639,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8911fe20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8911fe20-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":221,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.953475,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"89122530-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"89122530-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"06ee51e7-d470-47b9-b868-590329e0a070","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.4678047} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":222,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.9063,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"89127350-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"89127350-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:56.532515001Z"}]},"request_id":"e60321d4-e377-47b7-a736-ac866f97edb6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.4724777} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89127350-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/signaling 200 13ms","method":"POST","requestID":"89127350-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8911fe20-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:56.600554567Z"}]},"request_id":"b07e9e08-2239-4f9b-8287-61f7c1f4f25e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.4738615} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"89122530-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8914e450-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6b33039-0eb6-44dc-abbc-d61ed57fa958","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.4791582} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbb057d09-fb0f-4470-948b-92c3bdb6b3cb#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbb057d09-fb0f-4470-948b-92c3bdb6b3cb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"ce31c27e-b896-4a13-b52e-15614336f1e5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.4795415} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8911fe20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d? 200 24ms","method":"GET","requestID":"8911fe20-0ff4-11f0-acd3-db29ca75a471","responseTime":24,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"89122530-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14? 200 23ms","method":"GET","requestID":"89122530-0ff4-11f0-acd3-db29ca75a471","responseTime":23,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"466712860e1d1edba7e54e80058edaa4","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1bd313b8-f814-46a9-a9ab-2e28b2b3bf1d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.5064793} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":223,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.723049,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8914e450-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","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":"8915f5c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"8914e450-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"466712860e1d1edba7e54e80058edaa4"} gateway-1 | {"time_local":"02/Apr/2025:18:58:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"777","request_time":"0.283","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"level":"info","message":"POST /experiments? 201 279ms","method":"POST","requestID":"466712860e1d1edba7e54e80058edaa4","responseTime":279,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8914e450-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/signaling 200 38ms","method":"POST","requestID":"8914e450-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw","level":"info","message":"auth send jwt","requestID":"bd7293e60ee21e3e2a21844548362e7f"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"af0070b4-c81b-4223-85bb-10f6fb67cde4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.5163617} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":224,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.409987,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bd7293e60ee21e3e2a21844548362e7f","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8915f5c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","object_type":"device","rebac_allow":false,"scope_allow":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":"8915f5c0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd7293e60ee21e3e2a21844548362e7f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8915f5c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/signaling 200 41ms","method":"POST","requestID":"8915f5c0-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":225,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.037187,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"891c8570-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bd7293e60ee21e3e2a21844548362e7f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"bd7293e60ee21e3e2a21844548362e7f","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:56.532515001Z"}]},"request_id":"61c6ce18-e05e-4675-adfe-f9a36dce30bf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.5577574} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"afc42ebe-9776-45a7-8339-bd892ee7b7ff","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.557983} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bd7293e60ee21e3e2a21844548362e7f","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":226,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.093543,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"891c8570-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","object_type":"device","rebac_allow":false,"scope_allow":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":"891c8570-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd7293e60ee21e3e2a21844548362e7f"} gateway-1 | {"time_local":"02/Apr/2025:18:58:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bd7293e60ee21e3e2a21844548362e7f"} device-1 | {"level":"info","message":"GET /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d? 200 42ms","method":"GET","requestID":"bd7293e60ee21e3e2a21844548362e7f","responseTime":42,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"891c8570-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/signaling 200 38ms","method":"POST","requestID":"891c8570-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Building connection plan","requestID":"466712860e1d1edba7e54e80058edaa4"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"6b2490f9-4fe6-45a1-9737-db386b5a46da"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"96458a4c-342c-4618-9085-868895460a2a"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"bac45258-b17c-4dab-a919-73cbefd246ad"}]},"level":"info","message":"Built pairwise service configurations","requestID":"466712860e1d1edba7e54e80058edaa4"} 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/5484e1b4-2961-46cf-895c-2c8b9308bc14"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"466712860e1d1edba7e54e80058edaa4"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw","level":"info","message":"auth send jwt","requestID":"58f53601984a81b0cdbe06ef479fa328"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"58f53601984a81b0cdbe06ef479fa328","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"58f53601984a81b0cdbe06ef479fa328"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":227,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.754784,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":228,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.779888,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"58f53601984a81b0cdbe06ef479fa328","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620339,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDMzOX0.AZVpd7NtWXEYuCdJVdZYbLg3VSHoEQSqHPfSTxA4Kdw"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"58f53601984a81b0cdbe06ef479fa328","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:58:56.600554567Z"}]},"request_id":"6b2b62c1-ca6d-4a7f-b354-6843d6f26e39","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.6046832} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"58f53601984a81b0cdbe06ef479fa328","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"5c3c08d6-efa4-4b90-80e7-9dee9c12c972","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.6080017} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f2e47d1a-0cbf-4cb7-acb8-b171476e8624","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.608218} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"58f53601984a81b0cdbe06ef479fa328"} gateway-1 | {"time_local":"02/Apr/2025:18:58:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58f53601984a81b0cdbe06ef479fa328"} device-1 | {"level":"info","message":"GET /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14? 200 38ms","method":"GET","requestID":"58f53601984a81b0cdbe06ef479fa328","responseTime":38,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646'","requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646'","requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 84ms","method":"POST","requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471","responseTime":84,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"8922c700-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646","device":"5484e1b4-2961-46cf-895c-2c8b9308bc14","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646","device":"1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","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/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"466712860e1d1edba7e54e80058edaa4"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89371250-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2b3d2153-e909-447b-9c78-6296155489e1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.7060122} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":229,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.329774,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"89371250-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"89371250-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89371250-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/signaling 200 12ms","method":"POST","requestID":"89371250-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89393530-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"device":"1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"5484e1b4-2961-46cf-895c-2c8b9308bc14","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5484e1b4-2961-46cf-895c-2c8b9308bc14","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e2fe5d43-30bb-411c-8a20-bbb09ea6adb0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.720591} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":230,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.004144,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"89393530-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","object_type":"device","rebac_allow":false,"scope_allow":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":"89393530-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89393530-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/signaling 200 35ms","method":"POST","requestID":"89393530-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 3944038776289906190 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:cwgF\r\na=ice-pwd:49kAl3Hw01eC08vwvv4m+CAv\r\na=ice-options:trickle\r\na=fingerprint:sha-256 EF:1E:93:CE:EA:0D:6A:09:1F:6C:54:EF:05:A8:87:BC:D6:70:AE:9F:58:3C:66:9A:41:CA:CF:DE:BC:75:AD:71\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 5792051801873834488 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:0QSW\r\na=ice-pwd:nUqG7bQckv/LZBCCiEE+8bl2\r\na=ice-options:trickle\r\na=fingerprint:sha-256 5B:4B:72:94:6C:D0:69:6C:01:65:9F:5B:EB:A8:40:95:93:C0:68:1C:19:D5:F7:87:EC:A9:2E:32:3F:DE:40:C5\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"5484e1b4-2961-46cf-895c-2c8b9308bc14","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3932016383 1 udp 2113937151 d527b777-f1bc-4262-b336-58c9258223b9.local 54620 typ host generation 0 ufrag 0QSW network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5484e1b4-2961-46cf-895c-2c8b9308bc14","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/5484e1b4-2961-46cf-895c-2c8b9308bc14'"} device-1 | {"content":{"candidate":"candidate:2646142037 1 udp 2113937151 4cb74fa6-9596-4aa2-b234-9352d12ad34c.local 33673 typ host generation 0 ufrag cwgF network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"5484e1b4-2961-46cf-895c-2c8b9308bc14","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/c05d36e5-b616-4376-8ee0-4b1b5c758646' to 'http://localhost/callbacks/experiment'"} 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":"new","url":"http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connecting","url":"http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646"}}},"level":"info","message":"received a callback","requestID":"6a663661ac5d1a06db64fe0b2c67b7b8"} device-1 | {"data":{"peerconnection":"c05d36e5-b616-4376-8ee0-4b1b5c758646","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"5484e1b4-2961-46cf-895c-2c8b9308bc14","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6a663661ac5d1a06db64fe0b2c67b7b8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6a663661ac5d1a06db64fe0b2c67b7b8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"6a663661ac5d1a06db64fe0b2c67b7b8","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"6a663661ac5d1a06db64fe0b2c67b7b8"} device-1 | {"device":"1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5484e1b4-2961-46cf-895c-2c8b9308bc14","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"5484e1b4-2961-46cf-895c-2c8b9308bc14","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"c05d36e5-b616-4376-8ee0-4b1b5c758646","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"c05d36e5-b616-4376-8ee0-4b1b5c758646","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/c05d36e5-b616-4376-8ee0-4b1b5c758646' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c05d36e5-b616-4376-8ee0-4b1b5c758646","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fb7a4bc28dbde1a3ce4603651045fbd5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fb7a4bc28dbde1a3ce4603651045fbd5","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/5484e1b4-2961-46cf-895c-2c8b9308bc14"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646"}}},"level":"info","message":"received a callback","requestID":"fb7a4bc28dbde1a3ce4603651045fbd5"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"89571d70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc05d36e5-b616-4376-8ee0-4b1b5c758646","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e4973be-2dcc-4aa5-ad35-a0209d70f177","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.9406085} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":231,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.750842,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"89571d70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"89571d70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646","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":"89571d70-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646 200 34ms","method":"GET","requestID":"89571d70-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 81ms","method":"POST","requestID":"fb7a4bc28dbde1a3ce4603651045fbd5","responseTime":81,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:58:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.086","http_referrer":"","http_user_agent":"node-fetch","requestID":"fb7a4bc28dbde1a3ce4603651045fbd5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8962dd40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f70dd7e-3fdf-46a2-98a5-34fac42c1020","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620339.9938853} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":232,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.468218,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:58:59Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8962dd40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 63ms","method":"POST","requestID":"8962dd40-0ff4-11f0-acd3-db29ca75a471","responseTime":63,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8962dd40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/signaling 200 95ms","method":"POST","requestID":"8962dd40-0ff4-11f0-acd3-db29ca75a471","responseTime":95,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89718340-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4498dc68-c4fd-47ce-926f-0f167a210af0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.090517} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":233,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.144141,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"89718340-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","object_type":"device","rebac_allow":false,"scope_allow":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":"89718340-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89718340-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/signaling 200 14ms","method":"POST","requestID":"89718340-0ff4-11f0-acd3-db29ca75a471","responseTime":14,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MH0.btOmkvxfAwCXHr_Fp-MnW86XIWX0cOx4x8xbLUblYwQ","level":"info","message":"auth send jwt","requestID":"50ad1b23fe9c0e0d9bdb041ddd5102d5"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"50ad1b23fe9c0e0d9bdb041ddd5102d5","responseTime":26,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb","requestID":"50ad1b23fe9c0e0d9bdb041ddd5102d5"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":234,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.704208,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"50ad1b23fe9c0e0d9bdb041ddd5102d5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620340,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MH0.btOmkvxfAwCXHr_Fp-MnW86XIWX0cOx4x8xbLUblYwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"50ad1b23fe9c0e0d9bdb041ddd5102d5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb","requestID":"50ad1b23fe9c0e0d9bdb041ddd5102d5"} gateway-1 | {"time_local":"02/Apr/2025:18:59:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb HTTP/1.1","status": "200","body_bytes_sent":"850","request_time":"0.037","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50ad1b23fe9c0e0d9bdb041ddd5102d5"} experiment-1 | {"level":"info","message":"GET /experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb 200 9ms","method":"GET","requestID":"50ad1b23fe9c0e0d9bdb041ddd5102d5","responseTime":9,"status":200,"url":"/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MH0.btOmkvxfAwCXHr_Fp-MnW86XIWX0cOx4x8xbLUblYwQ","level":"info","message":"auth send jwt","requestID":"1d8bfb5533c3c176bac749af59574674"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1d8bfb5533c3c176bac749af59574674","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb","requestID":"1d8bfb5533c3c176bac749af59574674"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":235,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.689243,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1d8bfb5533c3c176bac749af59574674","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620340,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MH0.btOmkvxfAwCXHr_Fp-MnW86XIWX0cOx4x8xbLUblYwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1d8bfb5533c3c176bac749af59574674","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Attempting to finish experiment","requestID":"1d8bfb5533c3c176bac749af59574674"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"89997da0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":236,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.573585,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"89997da0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620340,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MH0.btOmkvxfAwCXHr_Fp-MnW86XIWX0cOx4x8xbLUblYwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"89997da0-0ff4-11f0-acd3-db29ca75a471","responseTime":26,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646","device":"5484e1b4-2961-46cf-895c-2c8b9308bc14","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646","device":"1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","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/c05d36e5-b616-4376-8ee0-4b1b5c758646' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c05d36e5-b616-4376-8ee0-4b1b5c758646","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0f73dbf370123f9b13dc9250cdefc12a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0f73dbf370123f9b13dc9250cdefc12a","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e1cac8a5cc2399f21948555f57692bc1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646"}}},"level":"info","message":"received a callback","requestID":"0f73dbf370123f9b13dc9250cdefc12a"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e1cac8a5cc2399f21948555f57692bc1","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc05d36e5-b616-4376-8ee0-4b1b5c758646': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc05d36e5-b616-4376-8ee0-4b1b5c758646","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"c0c3f95e-8a68-4153-b450-b8cd91701af9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.3862283} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646"}}},"level":"info","message":"received a callback","requestID":"e1cac8a5cc2399f21948555f57692bc1"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ebe1902-826e-4d44-8b93-5de743d41200","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.386586} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"89997da0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"c05d36e5-b616-4376-8ee0-4b1b5c758646","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"89997da0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646 204 80ms","method":"DELETE","requestID":"89997da0-0ff4-11f0-acd3-db29ca75a471","responseTime":80,"status":204,"url":"/peerconnections/c05d36e5-b616-4376-8ee0-4b1b5c758646"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"},"level":"info","message":"Successfully finished experiment","requestID":"1d8bfb5533c3c176bac749af59574674"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89aba610-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5484e1b4-2961-46cf-895c-2c8b9308bc14","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"56257edb-f74f-4e29-b378-92fc4ab1a1fb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.4698117} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":237,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.365808,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"89aba610-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"89aba610-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89aba610-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/signaling 200 10ms","method":"POST","requestID":"89aba610-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"89ad53c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbb057d09-fb0f-4470-948b-92c3bdb6b3cb': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fbb057d09-fb0f-4470-948b-92c3bdb6b3cb","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"9e43d09d-f3f0-49ad-a53d-aa15cb96e424","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.4790552} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"632bc42b-d9e9-47e4-9915-519ed65102bb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.479574} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"1d8bfb5533c3c176bac749af59574674","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6f3d2e33-e67f-4e45-9399-9edad349ec8e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.4820702} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":238,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.462227,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"89ad53c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"89ad53c0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"89ad53c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/signaling 200 10ms","method":"POST","requestID":"89ad53c0-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb","requestID":"1d8bfb5533c3c176bac749af59574674"} gateway-1 | {"time_local":"02/Apr/2025:18:59:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.251","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1d8bfb5533c3c176bac749af59574674"} experiment-1 | {"level":"info","message":"DELETE /experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb 204 272ms","method":"DELETE","requestID":"1d8bfb5533c3c176bac749af59574674","responseTime":272,"status":204,"url":"/experiments/bb057d09-fb0f-4470-948b-92c3bdb6b3cb"} gateway-1 | {"time_local":"02/Apr/2025:18:59:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.231","http_referrer":"","http_user_agent":"node-fetch","requestID":"0f73dbf370123f9b13dc9250cdefc12a"} gateway-1 | {"time_local":"02/Apr/2025:18:59:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.231","http_referrer":"","http_user_agent":"node-fetch","requestID":"e1cac8a5cc2399f21948555f57692bc1"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MH0.btOmkvxfAwCXHr_Fp-MnW86XIWX0cOx4x8xbLUblYwQ","level":"info","message":"auth send jwt","requestID":"9b067c272601315478e9237b6b3a73f7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9b067c272601315478e9237b6b3a73f7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"9b067c272601315478e9237b6b3a73f7"} gateway-1 | {"time_local":"02/Apr/2025:18:59:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2323","request_time":"1.585","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3591ebf8befcf26566b1ade1ee0c3af2"} gateway-1 | {"time_local":"02/Apr/2025:18:59:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2323","request_time":"1.486","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d362070022e42313c2cf3a35519f42b8"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":239,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.951014,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9b067c272601315478e9237b6b3a73f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620340,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MH0.btOmkvxfAwCXHr_Fp-MnW86XIWX0cOx4x8xbLUblYwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9b067c272601315478e9237b6b3a73f7","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5484e1b4-2961-46cf-895c-2c8b9308bc14' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 227ms","method":"POST","requestID":"0f73dbf370123f9b13dc9250cdefc12a","responseTime":227,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 227ms","method":"POST","requestID":"e1cac8a5cc2399f21948555f57692bc1","responseTime":227,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1d1f034d-a211-422b-b4f1-9cf7aa5fbb5d' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c579da1e-c271-4749-9c95-a4f34a42481b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.6589768} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9b067c272601315478e9237b6b3a73f7","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f63736d0-6fd5-42ed-9696-361785ba4531","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.6632102} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9b067c272601315478e9237b6b3a73f7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"dac6205e-71f3-4f33-9dd2-e523dbdeae34","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.6735618} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ae2aa04e-8530-4dca-b15d-17049f3e223e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.6737633} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"9b067c272601315478e9237b6b3a73f7","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.673541613Z"}]},"request_id":"d9f8ccb2-1130-4b1e-a4d6-52ef6c940caa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.6774411} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"9b067c272601315478e9237b6b3a73f7","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9b067c272601315478e9237b6b3a73f7"} gateway-1 | {"time_local":"02/Apr/2025:18:59:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.068","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b067c272601315478e9237b6b3a73f7"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"9b067c272601315478e9237b6b3a73f7","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MH0.btOmkvxfAwCXHr_Fp-MnW86XIWX0cOx4x8xbLUblYwQ","level":"info","message":"auth send jwt","requestID":"c58a131006147d52536edc3ec1f0b305"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c58a131006147d52536edc3ec1f0b305","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c58a131006147d52536edc3ec1f0b305"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":240,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.705933,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:00Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c58a131006147d52536edc3ec1f0b305","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620340,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MH0.btOmkvxfAwCXHr_Fp-MnW86XIWX0cOx4x8xbLUblYwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c58a131006147d52536edc3ec1f0b305","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bf8e4c74-5281-44c8-a09d-1de2b2335f78","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.7263837} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c58a131006147d52536edc3ec1f0b305","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43f45d9f-204b-4426-88f0-83bb0569f3b6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.756372} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"c58a131006147d52536edc3ec1f0b305","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"1a9dbdd3-2d84-42bd-9820-42a68bd856e2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.7649448} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4be697e-f739-498e-abb8-c01701702c61","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.7652757} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"c58a131006147d52536edc3ec1f0b305","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.764924192Z"}]},"request_id":"0b1dcd8c-da15-471b-9436-72cfaebff14f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620340.769123} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c58a131006147d52536edc3ec1f0b305","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c58a131006147d52536edc3ec1f0b305"} gateway-1 | {"time_local":"02/Apr/2025:18:59:00 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.066","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c58a131006147d52536edc3ec1f0b305"} device-1 | {"level":"info","message":"POST /devices? 201 63ms","method":"POST","requestID":"c58a131006147d52536edc3ec1f0b305","responseTime":63,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MX0.1Cige40KOfaAwbGJL2KFnkWubp5WxhuMkbc22SmCDfE","level":"info","message":"auth send jwt","requestID":"0e2a809ba9664ecb01e53bfb5a277b00"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0e2a809ba9664ecb01e53bfb5a277b00","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"0e2a809ba9664ecb01e53bfb5a277b00"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":241,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.784037,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"0e2a809ba9664ecb01e53bfb5a277b00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620341,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MX0.1Cige40KOfaAwbGJL2KFnkWubp5WxhuMkbc22SmCDfE"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"0e2a809ba9664ecb01e53bfb5a277b00","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.764924192Z"}]},"request_id":"1e59ee4e-6bc1-4bdc-b4fb-5c97f62635cc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620341.8634589} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0e2a809ba9664ecb01e53bfb5a277b00","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5ded72f0-a95e-415e-a38e-0849187a7807","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620341.8682413} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0e2a809ba9664ecb01e53bfb5a277b00","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.764924192Z"}]},"request_id":"84aabc11-9508-4ba1-ad74-d0095887c274","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620341.908248} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"0e2a809ba9664ecb01e53bfb5a277b00","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"0e2a809ba9664ecb01e53bfb5a277b00"} gateway-1 | {"time_local":"02/Apr/2025:18:59:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"0e2a809ba9664ecb01e53bfb5a277b00"} device-1 | {"level":"info","message":"PATCH /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37 200 79ms","method":"PATCH","requestID":"0e2a809ba9664ecb01e53bfb5a277b00","responseTime":79,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MX0.1Cige40KOfaAwbGJL2KFnkWubp5WxhuMkbc22SmCDfE","level":"info","message":"auth send jwt","requestID":"366851a0f9cd5d35ef2a4bdf46d7453f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"366851a0f9cd5d35ef2a4bdf46d7453f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"366851a0f9cd5d35ef2a4bdf46d7453f"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:01Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":242,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.940875,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"366851a0f9cd5d35ef2a4bdf46d7453f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620341,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0MX0.1Cige40KOfaAwbGJL2KFnkWubp5WxhuMkbc22SmCDfE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"366851a0f9cd5d35ef2a4bdf46d7453f","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"366851a0f9cd5d35ef2a4bdf46d7453f"} gateway-1 | {"time_local":"02/Apr/2025:18:59:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"366851a0f9cd5d35ef2a4bdf46d7453f"} device-1 | {"level":"info","message":"POST /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/websocket 200 42ms","method":"POST","requestID":"366851a0f9cd5d35ef2a4bdf46d7453f","responseTime":42,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2b9cde8c3cb988243a3850f08a9e4cb8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2b9cde8c3cb988243a3850f08a9e4cb8","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:59:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"2b9cde8c3cb988243a3850f08a9e4cb8"} device-1 | {"level":"info","message":"OPTIONS /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/websocket 200 0ms","method":"OPTIONS","requestID":"2b9cde8c3cb988243a3850f08a9e4cb8","responseTime":0,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA","level":"info","message":"auth send jwt","requestID":"7d6e46ce825fe3c32b447788b91a7b4c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"7d6e46ce825fe3c32b447788b91a7b4c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7d6e46ce825fe3c32b447788b91a7b4c"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":243,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.911757,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7d6e46ce825fe3c32b447788b91a7b4c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7d6e46ce825fe3c32b447788b91a7b4c","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7d6e46ce825fe3c32b447788b91a7b4c"} gateway-1 | {"time_local":"02/Apr/2025:18:59:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/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":"7d6e46ce825fe3c32b447788b91a7b4c"} device-1 | {"level":"info","message":"POST /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/websocket 200 49ms","method":"POST","requestID":"7d6e46ce825fe3c32b447788b91a7b4c","responseTime":49,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA","level":"info","message":"auth send jwt","requestID":"650ed96d63beddd634883d55693a7403"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"650ed96d63beddd634883d55693a7403","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"650ed96d63beddd634883d55693a7403"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":244,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.701583,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"650ed96d63beddd634883d55693a7403","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"650ed96d63beddd634883d55693a7403","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.673541613Z"}]},"request_id":"7ca1de3f-8643-4834-b7cd-c1869d890600","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.265691} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"650ed96d63beddd634883d55693a7403","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"650ed96d63beddd634883d55693a7403"} gateway-1 | {"time_local":"02/Apr/2025:18:59:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a? 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":"650ed96d63beddd634883d55693a7403"} device-1 | {"level":"info","message":"GET /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a? 200 10ms","method":"GET","requestID":"650ed96d63beddd634883d55693a7403","responseTime":10,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA","level":"info","message":"auth send jwt","requestID":"37312150c160f47454b5137a5e41b6e4"} authentication-1 | {"level":"info","message":"GET /auth 200 26ms","method":"GET","requestID":"37312150c160f47454b5137a5e41b6e4","responseTime":26,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"37312150c160f47454b5137a5e41b6e4"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":245,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.893457,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"37312150c160f47454b5137a5e41b6e4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"37312150c160f47454b5137a5e41b6e4","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.764924192Z"}]},"request_id":"7533734b-3276-4890-b44e-29cf0965a821","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.3044374} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"37312150c160f47454b5137a5e41b6e4","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"37312150c160f47454b5137a5e41b6e4"} gateway-1 | {"time_local":"02/Apr/2025:18:59:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37? 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":"37312150c160f47454b5137a5e41b6e4"} device-1 | {"level":"info","message":"GET /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37? 200 10ms","method":"GET","requestID":"37312150c160f47454b5137a5e41b6e4","responseTime":10,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA","level":"info","message":"auth send jwt","requestID":"6e6e751e374b4a383a7aade2d0897c07"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6e6e751e374b4a383a7aade2d0897c07","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6e6e751e374b4a383a7aade2d0897c07"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":246,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.721434,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6e6e751e374b4a383a7aade2d0897c07","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6e6e751e374b4a383a7aade2d0897c07","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Attempting to run experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Attempting to book experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Successfully booked experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8b6b3060-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8b6b5770-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":247,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930134,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8b6b3060-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8b6b3060-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":248,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.623934,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8b6b5770-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8b6b5770-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.673541613Z"}]},"request_id":"0a058751-54e2-4f3c-81da-a3b5db597afe","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.4068775} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8b6b3060-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.764924192Z"}]},"request_id":"d92d45e9-ee40-421e-a64b-470ff69769fb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.407877} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8b6b5770-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8b6b3060-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a? 200 13ms","method":"GET","requestID":"8b6b3060-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8b6b5770-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37? 200 13ms","method":"GET","requestID":"8b6b5770-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Setting up experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Successfully set up experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8b80db40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8b812960-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Successfully running experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8b815070-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":249,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.91867,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8b80db40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8b80db40-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":250,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904822,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8b812960-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8b812960-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"225b129d-01c5-4003-81b1-7d43a2a94c46","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.5511723} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.673541613Z"}]},"request_id":"64d7449b-c61f-45f6-9faa-b444e7d68dcc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.5522463} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.764924192Z"}]},"request_id":"a55073a0-f54b-45ff-9e42-a2d6e9462045","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.553249} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":251,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.523362,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8b815070-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","object_type":"device","rebac_allow":false,"scope_allow":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":"8b815070-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8b80db40-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8b812960-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcd95b201-17ea-4d36-ba57-456a28e91129#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcd95b201-17ea-4d36-ba57-456a28e91129","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"74cdf8db-d01f-4f93-bf21-be72dd7f0e27","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.5581286} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7c2fd4f8-3bce-4045-aab9-1b2ac272e1aa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.558384} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8b815070-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/signaling 200 15ms","method":"POST","requestID":"8b815070-0ff4-11f0-acd3-db29ca75a471","responseTime":15,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8b80db40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/update 200 14ms","method":"POST","requestID":"6e6e751e374b4a383a7aade2d0897c07","responseTime":14,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a? 200 45ms","method":"GET","requestID":"8b80db40-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8b87b910-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8b812960-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37? 200 45ms","method":"GET","requestID":"8b812960-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37?"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8b885550-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3299c06-c545-4fbf-853f-55be897ccb22","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.5900805} experiment-1 | {"data":{"experiment":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6e6e751e374b4a383a7aade2d0897c07"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":252,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.000347,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} gateway-1 | {"time_local":"02/Apr/2025:18:59:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.284","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"level":"info","message":"POST /experiments? 201 281ms","method":"POST","requestID":"6e6e751e374b4a383a7aade2d0897c07","responseTime":281,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8b87b910-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","rebac_allow":false,"scope_allow":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":"8b87b910-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b0df535c-d549-42b7-8a1a-fc297e00ccf1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.5939465} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":253,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.654868,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8b885550-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8b885550-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA","level":"info","message":"auth send jwt","requestID":"d3f9730560b43783dc27018ecefb9706"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d3f9730560b43783dc27018ecefb9706","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8b87b910-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/signaling 200 13ms","method":"POST","requestID":"8b87b910-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d3f9730560b43783dc27018ecefb9706"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8b885550-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/signaling 200 13ms","method":"POST","requestID":"8b885550-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":254,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.965801,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d3f9730560b43783dc27018ecefb9706","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d3f9730560b43783dc27018ecefb9706","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8b8f0c10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.673541613Z"}]},"request_id":"3843256f-7228-4e55-8089-048affe49188","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.63574} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"d3f9730560b43783dc27018ecefb9706","responseTime":32,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":255,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.134655,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c7ff8809-25ff-4751-a240-0735a4ec10f7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.6386626} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8b8f0c10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","rebac_allow":false,"scope_allow":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":"8b8f0c10-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d3f9730560b43783dc27018ecefb9706"} device-1 | {"level":"info","message":"GET /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a? 200 45ms","method":"GET","requestID":"d3f9730560b43783dc27018ecefb9706","responseTime":45,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a?"} gateway-1 | {"time_local":"02/Apr/2025:18:59:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d3f9730560b43783dc27018ecefb9706"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8b8f0c10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/signaling 200 13ms","method":"POST","requestID":"8b8f0c10-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Building connection plan","requestID":"6e6e751e374b4a383a7aade2d0897c07"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"d19b5168-6f5f-400e-82ba-ff6831a9b1be"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"06a696a0-c247-425e-bc14-b85550c8fde2"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"cafd0531-8c1b-455b-baa6-c96cd0491288"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6e6e751e374b4a383a7aade2d0897c07"} 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/b9a95d2f-3589-4ea0-804f-37c4591f6f37"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6e6e751e374b4a383a7aade2d0897c07"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8b917d10-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA","level":"info","message":"auth send jwt","requestID":"37ebf68c307e949a45353b1d78cabb9a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"37ebf68c307e949a45353b1d78cabb9a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"37ebf68c307e949a45353b1d78cabb9a"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Received request.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"client_addr":"127.0.0.1:60984","level":"info","msg":"Sent response.","req_id":256,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.961446,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8b917d10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8b917d10-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":257,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.738523,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"37ebf68c307e949a45353b1d78cabb9a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620343,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0M30.wGmnlb8oJ3VsghiHzwm2KUKxNEoVW3ZwGul5J7_p6CA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"37ebf68c307e949a45353b1d78cabb9a","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:00.764924192Z"}]},"request_id":"0998e8a8-6bcc-4151-b749-030e15f5b54c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.6824014} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"37ebf68c307e949a45353b1d78cabb9a","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"37ebf68c307e949a45353b1d78cabb9a"} device-1 | {"level":"info","message":"GET /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37? 200 37ms","method":"GET","requestID":"37ebf68c307e949a45353b1d78cabb9a","responseTime":37,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37?"} gateway-1 | {"time_local":"02/Apr/2025:18:59:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37? 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":"37ebf68c307e949a45353b1d78cabb9a"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"30536fa7-91c9-4c19-85b9-e84565ce4f5c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.689322} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"68047129-5154-4db0-97aa-8c8b7917e64b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.6896732} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8b917d10-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8b917d10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8b917d10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2'","requestID":"8b917d10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2'","requestID":"8b917d10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8b917d10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 80ms","method":"POST","requestID":"8b917d10-0ff4-11f0-acd3-db29ca75a471","responseTime":80,"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":"8b917d10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2","device":"a27c3c96-6b44-4859-a9a8-f2b060bf150a","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/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6e6e751e374b4a383a7aade2d0897c07"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ba61680-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe497c08-b4d3-4786-91bf-91e1c1884eb5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.7888176} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":258,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.563712,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8ba61680-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8ba61680-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ba61680-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/signaling 200 11ms","method":"POST","requestID":"8ba61680-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/signaling"} device-1 | {"device":"a27c3c96-6b44-4859-a9a8-f2b060bf150a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"a27c3c96-6b44-4859-a9a8-f2b060bf150a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8ba81250-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:03Z"} device-1 | {"content":{"sdp":"v=0\r\no=- 1972964900496750174 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:6Bn1\r\na=ice-pwd:L5qnCKRA+N652JNLaHfCfBfs\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D5:57:5B:16:12:9C:30:24:04:3C:DC:73:25:27:52:96:C5:5A:A9:21:91:01:73:DD:5C:F3:62:9F:FD:1D:7F:09\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"a27c3c96-6b44-4859-a9a8-f2b060bf150a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a'"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58a57fb4-0f2a-49ef-a044-1aa3b3e608e1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620343.8297355} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":259,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.463997,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8ba81250-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","rebac_allow":false,"scope_allow":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":"8ba81250-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8ba81250-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/signaling 200 39ms","method":"POST","requestID":"8ba81250-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/signaling"} device-1 | {"device":"a27c3c96-6b44-4859-a9a8-f2b060bf150a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b9a95d2f-3589-4ea0-804f-37c4591f6f37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"14f8dc43-32c3-4360-a39b-327c7d6527f2","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b9a95d2f-3589-4ea0-804f-37c4591f6f37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9a95d2f-3589-4ea0-804f-37c4591f6f37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9a95d2f-3589-4ea0-804f-37c4591f6f37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9a95d2f-3589-4ea0-804f-37c4591f6f37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/14f8dc43-32c3-4360-a39b-327c7d6527f2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"14f8dc43-32c3-4360-a39b-327c7d6527f2","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"98142754520e44406dcfd3f3b802e50e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"98142754520e44406dcfd3f3b802e50e","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/b9a95d2f-3589-4ea0-804f-37c4591f6f37"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2"}}},"level":"info","message":"received a callback","requestID":"98142754520e44406dcfd3f3b802e50e"} device-1 | {"content":{"candidate":"candidate:2155151579 1 udp 2113937151 df9804aa-d116-4396-aaee-52d008f1aad4.local 53340 typ host generation 0 ufrag 6Bn1 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"a27c3c96-6b44-4859-a9a8-f2b060bf150a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"a27c3c96-6b44-4859-a9a8-f2b060bf150a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"98142754520e44406dcfd3f3b802e50e","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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":"98142754520e44406dcfd3f3b802e50e"} device-1 | {"device":"b9a95d2f-3589-4ea0-804f-37c4591f6f37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a27c3c96-6b44-4859-a9a8-f2b060bf150a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b9a95d2f-3589-4ea0-804f-37c4591f6f37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"14f8dc43-32c3-4360-a39b-327c7d6527f2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"14f8dc43-32c3-4360-a39b-327c7d6527f2","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/14f8dc43-32c3-4360-a39b-327c7d6527f2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"14f8dc43-32c3-4360-a39b-327c7d6527f2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2df3fca9bd69f4f56aa22e41b8f6e7ac","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2df3fca9bd69f4f56aa22e41b8f6e7ac","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/b9a95d2f-3589-4ea0-804f-37c4591f6f37"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2"}}},"level":"info","message":"received a callback","requestID":"2df3fca9bd69f4f56aa22e41b8f6e7ac"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"8ce26710-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:05Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F14f8dc43-32c3-4360-a39b-327c7d6527f2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f7f13bb4-eb48-43a8-a4b9-048283f9689a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620345.863422} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":260,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.070236,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:05Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8ce26710-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"8ce26710-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"8ce26710-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2 200 36ms","method":"GET","requestID":"8ce26710-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.088","http_referrer":"","http_user_agent":"node-fetch","requestID":"2df3fca9bd69f4f56aa22e41b8f6e7ac"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8cee9c10-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 60ms","method":"POST","requestID":"2df3fca9bd69f4f56aa22e41b8f6e7ac","responseTime":60,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:05Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"16104563-5411-43d6-9187-f27ee5c82299","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620345.9427698} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":261,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.082541,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8cee9c10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8cee9c10-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8cee9c10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/signaling 200 16ms","method":"POST","requestID":"8cee9c10-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8cf18240-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:05Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6a952d00-b10e-4e44-ac24-5b4be89fc701","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620345.988803} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":262,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.356619,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:05Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8cf18240-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","object_type":"device","rebac_allow":false,"scope_allow":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":"8cf18240-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8cf18240-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/signaling 200 38ms","method":"POST","requestID":"8cf18240-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0Nn0.JerJzXotp4Cgwax8Mgb-ZEQ8HWIqFPbGgP2BPp3AuP0","level":"info","message":"auth send jwt","requestID":"3e92c8b8461195d061d4ed8919728223"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"3e92c8b8461195d061d4ed8919728223","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/cd95b201-17ea-4d36-ba57-456a28e91129","requestID":"3e92c8b8461195d061d4ed8919728223"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":263,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.790523,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3e92c8b8461195d061d4ed8919728223","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620346,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0Nn0.JerJzXotp4Cgwax8Mgb-ZEQ8HWIqFPbGgP2BPp3AuP0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3e92c8b8461195d061d4ed8919728223","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/cd95b201-17ea-4d36-ba57-456a28e91129","requestID":"3e92c8b8461195d061d4ed8919728223"} gateway-1 | {"time_local":"02/Apr/2025:18:59:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/cd95b201-17ea-4d36-ba57-456a28e91129 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.014","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e92c8b8461195d061d4ed8919728223"} experiment-1 | {"level":"info","message":"GET /experiments/cd95b201-17ea-4d36-ba57-456a28e91129 200 10ms","method":"GET","requestID":"3e92c8b8461195d061d4ed8919728223","responseTime":10,"status":200,"url":"/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0Nn0.JerJzXotp4Cgwax8Mgb-ZEQ8HWIqFPbGgP2BPp3AuP0","level":"info","message":"auth send jwt","requestID":"41f9bdf5f15f18ce485630c7dd7f137a"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"41f9bdf5f15f18ce485630c7dd7f137a","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/cd95b201-17ea-4d36-ba57-456a28e91129","requestID":"41f9bdf5f15f18ce485630c7dd7f137a"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":264,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.946623,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"41f9bdf5f15f18ce485630c7dd7f137a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620346,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0Nn0.JerJzXotp4Cgwax8Mgb-ZEQ8HWIqFPbGgP2BPp3AuP0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"41f9bdf5f15f18ce485630c7dd7f137a","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Attempting to finish experiment","requestID":"41f9bdf5f15f18ce485630c7dd7f137a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"8d3234c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":265,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.701485,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8d3234c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620346,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0Nn0.JerJzXotp4Cgwax8Mgb-ZEQ8HWIqFPbGgP2BPp3AuP0"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8d3234c0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2","device":"a27c3c96-6b44-4859-a9a8-f2b060bf150a","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"b9a95d2f-3589-4ea0-804f-37c4591f6f37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9a95d2f-3589-4ea0-804f-37c4591f6f37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b9a95d2f-3589-4ea0-804f-37c4591f6f37","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/14f8dc43-32c3-4360-a39b-327c7d6527f2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"14f8dc43-32c3-4360-a39b-327c7d6527f2","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f488329049f6b839fbc21a3ff5873b8d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"f488329049f6b839fbc21a3ff5873b8d","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ff8fdc6150b534f9f960ac705183665b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ff8fdc6150b534f9f960ac705183665b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2"}}},"level":"info","message":"received a callback","requestID":"f488329049f6b839fbc21a3ff5873b8d"} 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/b9a95d2f-3589-4ea0-804f-37c4591f6f37"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2"}}},"level":"info","message":"received a callback","requestID":"ff8fdc6150b534f9f960ac705183665b"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F14f8dc43-32c3-4360-a39b-327c7d6527f2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F14f8dc43-32c3-4360-a39b-327c7d6527f2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"843a03a9-c30a-49ba-81f0-15ce35592a57","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.4218397} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4bb1cba1-bfa6-4c6b-912a-f428b801037b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.4221625} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"8d3234c0-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"8d3234c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2 204 90ms","method":"DELETE","requestID":"8d3234c0-0ff4-11f0-acd3-db29ca75a471","responseTime":90,"status":204,"url":"/peerconnections/14f8dc43-32c3-4360-a39b-327c7d6527f2"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"},"level":"info","message":"Successfully finished experiment","requestID":"41f9bdf5f15f18ce485630c7dd7f137a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8d428870-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb9a95d2f-3589-4ea0-804f-37c4591f6f37","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec4f38b4-2753-4153-8385-cfaf5ec9fe29","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.5162058} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":266,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.513167,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8d428870-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8d428870-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcd95b201-17ea-4d36-ba57-456a28e91129': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fcd95b201-17ea-4d36-ba57-456a28e91129","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"b28a9a6f-9588-4912-864c-ac7d70750380","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.5210886} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8d428870-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/signaling 200 35ms","method":"POST","requestID":"8d428870-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37/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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3534d096-cf78-4469-bd04-6f733cb992ad","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.5214906} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"41f9bdf5f15f18ce485630c7dd7f137a","responseTime":37,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8d482dc0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa27c3c96-6b44-4859-a9a8-f2b060bf150a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c28d5c14-ee8f-4129-89a0-ce7a5ae3956a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.5287225} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":267,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.786485,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8d482dc0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8d482dc0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8d482dc0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/signaling 200 9ms","method":"POST","requestID":"8d482dc0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/cd95b201-17ea-4d36-ba57-456a28e91129","requestID":"41f9bdf5f15f18ce485630c7dd7f137a"} gateway-1 | {"time_local":"02/Apr/2025:18:59:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/cd95b201-17ea-4d36-ba57-456a28e91129 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.246","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"41f9bdf5f15f18ce485630c7dd7f137a"} experiment-1 | {"level":"info","message":"DELETE /experiments/cd95b201-17ea-4d36-ba57-456a28e91129 204 243ms","method":"DELETE","requestID":"41f9bdf5f15f18ce485630c7dd7f137a","responseTime":243,"status":204,"url":"/experiments/cd95b201-17ea-4d36-ba57-456a28e91129"} gateway-1 | {"time_local":"02/Apr/2025:18:59:06 +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.658","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"29c6e94f9cf38538b09e83e4d3aefca8"} gateway-1 | {"time_local":"02/Apr/2025:18:59:06 +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.407","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8f219e533a9b303e49428a130b71efd8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 202ms","method":"POST","requestID":"f488329049f6b839fbc21a3ff5873b8d","responseTime":202,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.205","http_referrer":"","http_user_agent":"node-fetch","requestID":"f488329049f6b839fbc21a3ff5873b8d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0Nn0.JerJzXotp4Cgwax8Mgb-ZEQ8HWIqFPbGgP2BPp3AuP0","level":"info","message":"auth send jwt","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 205ms","method":"POST","requestID":"ff8fdc6150b534f9f960ac705183665b","responseTime":205,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.208","http_referrer":"","http_user_agent":"node-fetch","requestID":"ff8fdc6150b534f9f960ac705183665b"} device-1 | {"level":"info","message":"postDevices called","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b9a95d2f-3589-4ea0-804f-37c4591f6f37' closed"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":268,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.9139,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620346,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0Nn0.JerJzXotp4Cgwax8Mgb-ZEQ8HWIqFPbGgP2BPp3AuP0"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a27c3c96-6b44-4859-a9a8-f2b060bf150a' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4e44730d-310b-40d4-bb3d-908ad1baf395","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.6749985} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8ea58f46-caff-4c3d-a007-b1d14b5b73ff","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.705686} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"16bc50de-eec2-4aee-bad5-f6297da6c125","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.7181525} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"98ba52da-c2b6-454d-a391-832cce0f191e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.7184207} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.718129110Z"}]},"request_id":"8754838d-ac4b-4bf5-ab97-069a895dde9f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.7236595} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8"} gateway-1 | {"time_local":"02/Apr/2025:18:59:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.109","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8"} device-1 | {"level":"info","message":"POST /devices? 201 69ms","method":"POST","requestID":"84aa5481bc0fc075ca196c9f3fb3d1f8","responseTime":69,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0Nn0.JerJzXotp4Cgwax8Mgb-ZEQ8HWIqFPbGgP2BPp3AuP0","level":"info","message":"auth send jwt","requestID":"53e8102ca9f5ffac68feda191cd4f033"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"53e8102ca9f5ffac68feda191cd4f033","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"53e8102ca9f5ffac68feda191cd4f033"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":269,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.454845,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:06Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"53e8102ca9f5ffac68feda191cd4f033","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620346,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0Nn0.JerJzXotp4Cgwax8Mgb-ZEQ8HWIqFPbGgP2BPp3AuP0"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"53e8102ca9f5ffac68feda191cd4f033","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"278801d6-424a-4327-a865-97599431948f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.7737641} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"53e8102ca9f5ffac68feda191cd4f033","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"479fc249-9fbd-4abd-9c0a-838991f820d9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.8038905} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"53e8102ca9f5ffac68feda191cd4f033","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"ecebc214-b72e-4c05-95bf-848d74e33709","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.8134565} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b2312354-ff0b-4428-9224-39636838f490","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.8135912} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"53e8102ca9f5ffac68feda191cd4f033","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.813431578Z"}]},"request_id":"0ab1f483-e5cd-4231-8a5c-dd148810ed5e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620346.8188922} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"53e8102ca9f5ffac68feda191cd4f033","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"53e8102ca9f5ffac68feda191cd4f033"} gateway-1 | {"time_local":"02/Apr/2025:18:59:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53e8102ca9f5ffac68feda191cd4f033"} device-1 | {"level":"info","message":"POST /devices? 201 65ms","method":"POST","requestID":"53e8102ca9f5ffac68feda191cd4f033","responseTime":65,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0N30.cXdxKrVXUP5e6R7ESFm5DGyHr7MlPrxEFXPTkVuSNwQ","level":"info","message":"auth send jwt","requestID":"682c9c26525213226978fbcfaf40ae70"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"682c9c26525213226978fbcfaf40ae70","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"682c9c26525213226978fbcfaf40ae70"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":270,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.842254,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"682c9c26525213226978fbcfaf40ae70","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620347,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0N30.cXdxKrVXUP5e6R7ESFm5DGyHr7MlPrxEFXPTkVuSNwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"682c9c26525213226978fbcfaf40ae70","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.718129110Z"}]},"request_id":"9a73181e-5937-4b6a-9260-afc6a00cd57d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620347.912078} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"682c9c26525213226978fbcfaf40ae70","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"80319ad9-48df-4901-b425-f077a920bce1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620347.9180882} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"682c9c26525213226978fbcfaf40ae70","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.718129110Z"}]},"request_id":"26ddd375-a5f2-4ffa-a7ce-ac19a68ebd07","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620347.9554813} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"682c9c26525213226978fbcfaf40ae70","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"682c9c26525213226978fbcfaf40ae70"} gateway-1 | {"time_local":"02/Apr/2025:18:59:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"682c9c26525213226978fbcfaf40ae70"} device-1 | {"level":"info","message":"PATCH /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52 200 79ms","method":"PATCH","requestID":"682c9c26525213226978fbcfaf40ae70","responseTime":79,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0N30.cXdxKrVXUP5e6R7ESFm5DGyHr7MlPrxEFXPTkVuSNwQ","level":"info","message":"auth send jwt","requestID":"d8d0f03cc22706fa69f7961e465ea116"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d8d0f03cc22706fa69f7961e465ea116","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"d8d0f03cc22706fa69f7961e465ea116"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:07Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":271,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.639978,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d8d0f03cc22706fa69f7961e465ea116","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620347,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0N30.cXdxKrVXUP5e6R7ESFm5DGyHr7MlPrxEFXPTkVuSNwQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d8d0f03cc22706fa69f7961e465ea116","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"d8d0f03cc22706fa69f7961e465ea116"} gateway-1 | {"time_local":"02/Apr/2025:18:59:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/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.16","requestID":"d8d0f03cc22706fa69f7961e465ea116"} device-1 | {"level":"info","message":"POST /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/websocket 200 12ms","method":"POST","requestID":"d8d0f03cc22706fa69f7961e465ea116","responseTime":12,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9c9f56a29f9e866dfed6f2b9a8cd2019","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9c9f56a29f9e866dfed6f2b9a8cd2019","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:59:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9c9f56a29f9e866dfed6f2b9a8cd2019"} device-1 | {"level":"info","message":"OPTIONS /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/websocket 200 0ms","method":"OPTIONS","requestID":"9c9f56a29f9e866dfed6f2b9a8cd2019","responseTime":0,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c","level":"info","message":"auth send jwt","requestID":"e951924931de5d7f58793ec2edd13c51"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e951924931de5d7f58793ec2edd13c51","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e951924931de5d7f58793ec2edd13c51"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":272,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.674073,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e951924931de5d7f58793ec2edd13c51","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"e951924931de5d7f58793ec2edd13c51","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e951924931de5d7f58793ec2edd13c51"} gateway-1 | {"time_local":"02/Apr/2025:18:59:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.043","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e951924931de5d7f58793ec2edd13c51"} device-1 | {"level":"info","message":"POST /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/websocket 200 39ms","method":"POST","requestID":"e951924931de5d7f58793ec2edd13c51","responseTime":39,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c","level":"info","message":"auth send jwt","requestID":"b7fd69009141c92effd854aead317a5c"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"b7fd69009141c92effd854aead317a5c","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b7fd69009141c92effd854aead317a5c"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":273,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.64786,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b7fd69009141c92effd854aead317a5c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b7fd69009141c92effd854aead317a5c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.718129110Z"}]},"request_id":"038fd61d-8b5c-4d51-804d-39c8eb35976c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.3531702} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b7fd69009141c92effd854aead317a5c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b7fd69009141c92effd854aead317a5c"} gateway-1 | {"time_local":"02/Apr/2025:18:59:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52? 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":"b7fd69009141c92effd854aead317a5c"} device-1 | {"level":"info","message":"GET /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52? 200 11ms","method":"GET","requestID":"b7fd69009141c92effd854aead317a5c","responseTime":11,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c","level":"info","message":"auth send jwt","requestID":"44e7936b844734bb4568d8675b239da2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"44e7936b844734bb4568d8675b239da2","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"44e7936b844734bb4568d8675b239da2"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":274,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.707455,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"44e7936b844734bb4568d8675b239da2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"44e7936b844734bb4568d8675b239da2","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.813431578Z"}]},"request_id":"97fc5ff4-a0d0-424f-8b8a-7e9ddc2a0c59","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.3679705} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"44e7936b844734bb4568d8675b239da2","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"44e7936b844734bb4568d8675b239da2"} gateway-1 | {"time_local":"02/Apr/2025:18:59:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e? 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":"44e7936b844734bb4568d8675b239da2"} device-1 | {"level":"info","message":"GET /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e? 200 34ms","method":"GET","requestID":"44e7936b844734bb4568d8675b239da2","responseTime":34,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c","level":"info","message":"auth send jwt","requestID":"6047fe0b91cdef0fab7063767d25826d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6047fe0b91cdef0fab7063767d25826d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"6047fe0b91cdef0fab7063767d25826d"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":275,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.854649,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6047fe0b91cdef0fab7063767d25826d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6047fe0b91cdef0fab7063767d25826d","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Attempting to run experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Attempting to book experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Successfully booked experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8f08c980-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8f0c9a10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":276,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877597,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f08c980-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8f08c980-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":277,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.864028,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f0c9a10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8f0c9a10-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.718129110Z"}]},"request_id":"6cb26770-ef3d-4d0a-a6a4-126288d76faa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.4987211} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8f08c980-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.813431578Z"}]},"request_id":"4d3d6451-e258-4ce4-a28f-1e24f28facf1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.5022285} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8f08c980-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"8f0c9a10-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52? 200 39ms","method":"GET","requestID":"8f08c980-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8f0c9a10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e? 200 17ms","method":"GET","requestID":"8f0c9a10-0ff4-11f0-acd3-db29ca75a471","responseTime":17,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Setting up experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Successfully locked booking for experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Attempting to update booking for experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Successfully updated booking for experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Successfully set up experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8f1e7460-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8f1e9b70-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Successfully running experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8f1f37b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":278,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.729588,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f1e7460-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"8f1e7460-0ff4-11f0-acd3-db29ca75a471","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":279,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.633847,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f1e9b70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"8f1e9b70-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce3950ee-fe9f-4c12-8954-dc8c1427f5a9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.6410832} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":280,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.17814,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f1f37b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","rebac_allow":false,"scope_allow":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":"8f1f37b0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.718129110Z"}]},"request_id":"1b447153-6676-45dd-85eb-5dce0aad560c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.6427846} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.813431578Z"}]},"request_id":"e5359abb-2c17-43f8-b2cd-4830d6f96b4f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.643952} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"8f1e7460-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"8f1e9b70-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd5a4ca51-6347-41da-9779-d7081ab8a6b5#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd5a4ca51-6347-41da-9779-d7081ab8a6b5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"fab9aaec-3144-4e45-88cf-8020663394a1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.6491435} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab0b64ca-b1ea-456b-b605-1d4d5453b851","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.6494834} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8f1f37b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"6047fe0b91cdef0fab7063767d25826d","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"POST /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/signaling 200 40ms","method":"POST","requestID":"8f1f37b0-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8f1e7460-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52? 200 46ms","method":"GET","requestID":"8f1e7460-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8f1e9b70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e? 200 47ms","method":"GET","requestID":"8f1e9b70-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8f29bf00-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0f61432b-521d-464d-84c3-8fe2b933ac92","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.685312} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8f2a8250-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":281,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.79217,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"6047fe0b91cdef0fab7063767d25826d"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f29bf00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","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":"02/Apr/2025:18:59:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"781","request_time":"0.291","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"level":"info","message":"POST /experiments? 201 287ms","method":"POST","requestID":"6047fe0b91cdef0fab7063767d25826d","responseTime":287,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"8f29bf00-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8f29bf00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/signaling 200 12ms","method":"POST","requestID":"8f29bf00-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4f05c280-4db7-4c23-8792-13dc1e7534fe","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.6929662} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c","level":"info","message":"auth send jwt","requestID":"70cb9f7bbdb4dfd90e551cedb5a983f8"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":282,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.606907,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"70cb9f7bbdb4dfd90e551cedb5a983f8","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"70cb9f7bbdb4dfd90e551cedb5a983f8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f2a8250-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","rebac_allow":false,"scope_allow":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":"8f2a8250-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":283,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.753935,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8f2a8250-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"70cb9f7bbdb4dfd90e551cedb5a983f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} device-1 | {"level":"info","message":"POST /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/signaling 200 13ms","method":"POST","requestID":"8f2a8250-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"70cb9f7bbdb4dfd90e551cedb5a983f8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8f2ccc40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.718129110Z"}]},"request_id":"a16d695a-9542-4300-b86f-66a7cbd21076","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.7021554} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"70cb9f7bbdb4dfd90e551cedb5a983f8","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1820f4c-1593-428c-b846-8e2061e8caaf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.7291405} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":284,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.080815,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f2ccc40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","object_type":"device","rebac_allow":false,"scope_allow":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":"8f2ccc40-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"70cb9f7bbdb4dfd90e551cedb5a983f8"} gateway-1 | {"time_local":"02/Apr/2025:18:59:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"70cb9f7bbdb4dfd90e551cedb5a983f8"} device-1 | {"level":"info","message":"GET /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52? 200 40ms","method":"GET","requestID":"70cb9f7bbdb4dfd90e551cedb5a983f8","responseTime":40,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8f2ccc40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/signaling 200 36ms","method":"POST","requestID":"8f2ccc40-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Building connection plan","requestID":"6047fe0b91cdef0fab7063767d25826d"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"19a6eef4-7e28-4344-b36a-feb4087318f3"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"9b3581b1-7712-4e75-b2f0-a7bd3e2c2ad7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"a9ace6c5-815f-428f-8741-e9ad77fb7526"}]},"level":"info","message":"Built pairwise service configurations","requestID":"6047fe0b91cdef0fab7063767d25826d"} 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/f74a0a77-d3e3-49c2-8a69-cd677cd76e52"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"6047fe0b91cdef0fab7063767d25826d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c","level":"info","message":"auth send jwt","requestID":"bae403907a4976df09b6e9b682c89c3d"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"bae403907a4976df09b6e9b682c89c3d","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bae403907a4976df09b6e9b682c89c3d"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":285,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.688514,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":286,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86233,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bae403907a4976df09b6e9b682c89c3d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620349,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM0OX0.STBpTUZA-EcU9UF-Pa5HynHX8sd9jTYyWnJsjecTm3c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bae403907a4976df09b6e9b682c89c3d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:06.813431578Z"}]},"request_id":"f528dcf0-d70e-4682-9bf1-b95d0ca82012","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.7485526} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bae403907a4976df09b6e9b682c89c3d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bae403907a4976df09b6e9b682c89c3d"} gateway-1 | {"time_local":"02/Apr/2025:18:59:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e? 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":"bae403907a4976df09b6e9b682c89c3d"} device-1 | {"level":"info","message":"GET /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e? 200 11ms","method":"GET","requestID":"bae403907a4976df09b6e9b682c89c3d","responseTime":11,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"9c2d4f53-568d-4301-bf76-6ce46357c17f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.752609} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d831d67-4f67-4143-a3df-90e937414f72","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.7771032} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c'","requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c'","requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 87ms","method":"POST","requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471","responseTime":87,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"8f32bfb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c","device":"e88b8909-eeb5-448d-9a05-e7de4723e01e","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/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"6047fe0b91cdef0fab7063767d25826d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8f475920-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7ffadc1-b7f8-49bd-a796-5722745848af","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.8789542} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":287,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.539468,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f475920-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8f475920-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8f475920-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/signaling 200 9ms","method":"POST","requestID":"8f475920-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"8f4906d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"device":"e88b8909-eeb5-448d-9a05-e7de4723e01e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e88b8909-eeb5-448d-9a05-e7de4723e01e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a52d20ab-3062-48d5-9d3e-6ab943199490","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620349.8906732} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":288,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.054007,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8f4906d0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"8f4906d0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 2360049888792256911 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:qJ3+\r\na=ice-pwd:yTYZYc86OpL2u5JBGqXVit8x\r\na=ice-options:trickle\r\na=fingerprint:sha-256 DC:CE:BE:AD:35:E7:0C:B8:AB:2A:75:87:9B:CB:10:A1:48:2F:06:D5:06:61:65:BA:E1:4B:DE:98:30:CC:4D:93\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"e88b8909-eeb5-448d-9a05-e7de4723e01e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"8f4906d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/signaling 200 36ms","method":"POST","requestID":"8f4906d0-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/signaling"} device-1 | {"device":"e88b8909-eeb5-448d-9a05-e7de4723e01e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"f74a0a77-d3e3-49c2-8a69-cd677cd76e52","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"44156785-5c76-4758-9cf7-b262424b457c","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"f74a0a77-d3e3-49c2-8a69-cd677cd76e52","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f74a0a77-d3e3-49c2-8a69-cd677cd76e52","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f74a0a77-d3e3-49c2-8a69-cd677cd76e52","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f74a0a77-d3e3-49c2-8a69-cd677cd76e52","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/44156785-5c76-4758-9cf7-b262424b457c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"44156785-5c76-4758-9cf7-b262424b457c","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"17ab2e66d91c2847c6ce3035b59ac101","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"17ab2e66d91c2847c6ce3035b59ac101","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":"connecting","url":"http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c"}}},"level":"info","message":"received a callback","requestID":"17ab2e66d91c2847c6ce3035b59ac101"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"17ab2e66d91c2847c6ce3035b59ac101","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.010","http_referrer":"","http_user_agent":"node-fetch","requestID":"17ab2e66d91c2847c6ce3035b59ac101"} device-1 | {"content":{"candidate":"candidate:168348458 1 udp 2113937151 509ffeb8-fa9c-4e2a-9971-bc889082f7e4.local 50813 typ host generation 0 ufrag qJ3+ network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e88b8909-eeb5-448d-9a05-e7de4723e01e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"e88b8909-eeb5-448d-9a05-e7de4723e01e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"f74a0a77-d3e3-49c2-8a69-cd677cd76e52","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"44156785-5c76-4758-9cf7-b262424b457c","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"e88b8909-eeb5-448d-9a05-e7de4723e01e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"f74a0a77-d3e3-49c2-8a69-cd677cd76e52","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"44156785-5c76-4758-9cf7-b262424b457c","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/44156785-5c76-4758-9cf7-b262424b457c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"44156785-5c76-4758-9cf7-b262424b457c","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9e37b319da758f9040b40a128ec23065","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9e37b319da758f9040b40a128ec23065","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/f74a0a77-d3e3-49c2-8a69-cd677cd76e52"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c"}}},"level":"info","message":"received a callback","requestID":"9e37b319da758f9040b40a128ec23065"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"90846d00-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:11Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F44156785-5c76-4758-9cf7-b262424b457c","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b31e814a-20e9-4fe3-8cc9-0134d961b78d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620351.9577212} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":289,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.835123,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:11Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"90846d00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c","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":"90846d00-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"90846d00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/44156785-5c76-4758-9cf7-b262424b457c 200 36ms","method":"GET","requestID":"90846d00-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/peerconnections/44156785-5c76-4758-9cf7-b262424b457c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9090f020-0ff4-11f0-acd3-db29ca75a471"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.090","http_referrer":"","http_user_agent":"node-fetch","requestID":"9e37b319da758f9040b40a128ec23065"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 86ms","method":"POST","requestID":"9e37b319da758f9040b40a128ec23065","responseTime":86,"status":200,"url":"/callbacks/experiment"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"17d3ead7-2cdc-4996-a9fd-e3557f807896","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.0389683} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":290,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.925425,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9090f020-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9090f020-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9090f020-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/signaling 200 10ms","method":"POST","requestID":"9090f020-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9092c4e0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c942f0bc-6d54-434b-809a-7a909072acae","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.0513654} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":291,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.073144,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9092c4e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9092c4e0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9092c4e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/signaling 200 10ms","method":"POST","requestID":"9092c4e0-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Mn0.ywoccIVfP-IMbUn6Qy3Q6l8p2g9oc1FqxXzz7pvRfVw","level":"info","message":"auth send jwt","requestID":"7bd17f0f6a887f8d604bf2f5255e40da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7bd17f0f6a887f8d604bf2f5255e40da","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5","requestID":"7bd17f0f6a887f8d604bf2f5255e40da"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":292,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.603988,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7bd17f0f6a887f8d604bf2f5255e40da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620352,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Mn0.ywoccIVfP-IMbUn6Qy3Q6l8p2g9oc1FqxXzz7pvRfVw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7bd17f0f6a887f8d604bf2f5255e40da","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5","requestID":"7bd17f0f6a887f8d604bf2f5255e40da"} gateway-1 | {"time_local":"02/Apr/2025:18:59:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5 HTTP/1.1","status": "200","body_bytes_sent":"854","request_time":"0.038","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7bd17f0f6a887f8d604bf2f5255e40da"} experiment-1 | {"level":"info","message":"GET /experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5 200 35ms","method":"GET","requestID":"7bd17f0f6a887f8d604bf2f5255e40da","responseTime":35,"status":200,"url":"/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Mn0.ywoccIVfP-IMbUn6Qy3Q6l8p2g9oc1FqxXzz7pvRfVw","level":"info","message":"auth send jwt","requestID":"daeb9b116d151fab1dee141096fd7fd0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"daeb9b116d151fab1dee141096fd7fd0","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5","requestID":"daeb9b116d151fab1dee141096fd7fd0"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":293,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.846249,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"daeb9b116d151fab1dee141096fd7fd0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620352,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Mn0.ywoccIVfP-IMbUn6Qy3Q6l8p2g9oc1FqxXzz7pvRfVw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"daeb9b116d151fab1dee141096fd7fd0","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Attempting to finish experiment","requestID":"daeb9b116d151fab1dee141096fd7fd0"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"90c01670-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":294,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.855671,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"90c01670-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620352,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Mn0.ywoccIVfP-IMbUn6Qy3Q6l8p2g9oc1FqxXzz7pvRfVw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"90c01670-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c","device":"e88b8909-eeb5-448d-9a05-e7de4723e01e","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"f74a0a77-d3e3-49c2-8a69-cd677cd76e52","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f74a0a77-d3e3-49c2-8a69-cd677cd76e52","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"f74a0a77-d3e3-49c2-8a69-cd677cd76e52","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/44156785-5c76-4758-9cf7-b262424b457c' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"44156785-5c76-4758-9cf7-b262424b457c","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F44156785-5c76-4758-9cf7-b262424b457c': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F44156785-5c76-4758-9cf7-b262424b457c","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"44d8ddbf-a63e-4bb4-8c20-41cf2c0a8a91","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.383695} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"742ee10d-ac84-49bb-ae51-77c73f7c62b8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.383996} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a1088ab5a1a474a675806b227f28be6a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"90c01670-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"a1088ab5a1a474a675806b227f28be6a","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d28b2b97078a5ae9ab45d41799a35c8b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/f74a0a77-d3e3-49c2-8a69-cd677cd76e52"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c"}}},"level":"info","message":"received a callback","requestID":"a1088ab5a1a474a675806b227f28be6a"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d28b2b97078a5ae9ab45d41799a35c8b","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/f74a0a77-d3e3-49c2-8a69-cd677cd76e52"},{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/44156785-5c76-4758-9cf7-b262424b457c"}}},"level":"info","message":"received a callback","requestID":"d28b2b97078a5ae9ab45d41799a35c8b"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"90c01670-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/44156785-5c76-4758-9cf7-b262424b457c 204 91ms","method":"DELETE","requestID":"90c01670-0ff4-11f0-acd3-db29ca75a471","responseTime":91,"status":204,"url":"/peerconnections/44156785-5c76-4758-9cf7-b262424b457c"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"},"level":"info","message":"Successfully finished experiment","requestID":"daeb9b116d151fab1dee141096fd7fd0"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"90d461c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ff74a0a77-d3e3-49c2-8a69-cd677cd76e52","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"719e2461-f97e-487f-bbda-5c48a4eed371","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.4802952} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":295,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.749081,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"90d461c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"90d461c0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"90d461c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/signaling 200 9ms","method":"POST","requestID":"90d461c0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"90d60f70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd5a4ca51-6347-41da-9779-d7081ab8a6b5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fd5a4ca51-6347-41da-9779-d7081ab8a6b5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"c7aa79c1-18c6-428d-b9e7-767cc95ac270","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.5133631} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd0cfa1e-7a31-4dfc-8dda-a221bfbee50e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.5137095} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"daeb9b116d151fab1dee141096fd7fd0","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe88b8909-eeb5-448d-9a05-e7de4723e01e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"39d80700-2e34-4681-b10c-f3bd14a12fe3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.5164993} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":296,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.112558,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"90d60f70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"90d60f70-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"90d60f70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/signaling 200 34ms","method":"POST","requestID":"90d60f70-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5","requestID":"daeb9b116d151fab1dee141096fd7fd0"} gateway-1 | {"time_local":"02/Apr/2025:18:59:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.283","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"daeb9b116d151fab1dee141096fd7fd0"} experiment-1 | {"level":"info","message":"DELETE /experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5 204 280ms","method":"DELETE","requestID":"daeb9b116d151fab1dee141096fd7fd0","responseTime":280,"status":204,"url":"/experiments/d5a4ca51-6347-41da-9779-d7081ab8a6b5"} gateway-1 | {"time_local":"02/Apr/2025:18:59:12 +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.638","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"5760dd396d39505ea022782e9ceea94b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 229ms","method":"POST","requestID":"a1088ab5a1a474a675806b227f28be6a","responseTime":229,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 229ms","method":"POST","requestID":"d28b2b97078a5ae9ab45d41799a35c8b","responseTime":229,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.237","http_referrer":"","http_user_agent":"node-fetch","requestID":"a1088ab5a1a474a675806b227f28be6a"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.236","http_referrer":"","http_user_agent":"node-fetch","requestID":"d28b2b97078a5ae9ab45d41799a35c8b"} gateway-1 | {"time_local":"02/Apr/2025:18:59:12 +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.321","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9edc274032c2c667d881c0345ba2d5cc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Mn0.ywoccIVfP-IMbUn6Qy3Q6l8p2g9oc1FqxXzz7pvRfVw","level":"info","message":"auth send jwt","requestID":"a2546241f20810ecb30aac6292c3a722"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a2546241f20810ecb30aac6292c3a722","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"a2546241f20810ecb30aac6292c3a722"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/f74a0a77-d3e3-49c2-8a69-cd677cd76e52' closed"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":297,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.896554,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a2546241f20810ecb30aac6292c3a722","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620352,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Mn0.ywoccIVfP-IMbUn6Qy3Q6l8p2g9oc1FqxXzz7pvRfVw"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"a2546241f20810ecb30aac6292c3a722","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e88b8909-eeb5-448d-9a05-e7de4723e01e' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"7be8df25-6cbe-43d5-8d71-8c0ec515bbce","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.6746428} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a2546241f20810ecb30aac6292c3a722","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4063cf9f-a71c-47ad-8829-9cbd0f7f3550","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.6802022} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"a2546241f20810ecb30aac6292c3a722","responseTime":29,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"6239e8a6-7e8c-499d-b334-edaf0717fdf1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.716425} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7d35dd1e-b01b-458a-b36e-8273bd7ac88e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.7166822} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"a2546241f20810ecb30aac6292c3a722","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.716403053Z"}]},"request_id":"9d6a710f-3ff7-4fb3-a318-8ab0a6964586","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.7210736} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a2546241f20810ecb30aac6292c3a722","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"a2546241f20810ecb30aac6292c3a722"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.109","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a2546241f20810ecb30aac6292c3a722"} device-1 | {"level":"info","message":"POST /devices? 201 93ms","method":"POST","requestID":"a2546241f20810ecb30aac6292c3a722","responseTime":93,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Mn0.ywoccIVfP-IMbUn6Qy3Q6l8p2g9oc1FqxXzz7pvRfVw","level":"info","message":"auth send jwt","requestID":"0954ec64280ebd17f17ccd839b1aca73"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0954ec64280ebd17f17ccd839b1aca73","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"0954ec64280ebd17f17ccd839b1aca73"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":298,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.20216,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"0954ec64280ebd17f17ccd839b1aca73","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620352,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Mn0.ywoccIVfP-IMbUn6Qy3Q6l8p2g9oc1FqxXzz7pvRfVw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"0954ec64280ebd17f17ccd839b1aca73","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"6606045a-064a-46a9-8df6-65fe21675788","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.8117235} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"0954ec64280ebd17f17ccd839b1aca73","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"164a0819-f373-4f4c-aa28-62f59ba73374","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.816363} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"0954ec64280ebd17f17ccd839b1aca73","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"ca268c2a-b75d-4a74-a8b1-736878b1715a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.825589} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"07b54630-93e3-483d-8302-27f3428c444b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.8258605} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"0954ec64280ebd17f17ccd839b1aca73","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.825562218Z"}]},"request_id":"f967f1a5-bbdc-49a1-8cfb-46b226ad1529","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620352.8497865} authorization-1 | {"level":"info","message":"POST /relations/query 200 22ms","method":"POST","requestID":"0954ec64280ebd17f17ccd839b1aca73","responseTime":22,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"0954ec64280ebd17f17ccd839b1aca73"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0954ec64280ebd17f17ccd839b1aca73"} device-1 | {"level":"info","message":"POST /devices? 201 100ms","method":"POST","requestID":"0954ec64280ebd17f17ccd839b1aca73","responseTime":100,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1M30.pvIFTCGtm3jBw_bLUl9XjZpfOTX97xYVVT9TxAcsQpY","level":"info","message":"auth send jwt","requestID":"347942b2dcab318109c407704fe4947c"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"347942b2dcab318109c407704fe4947c","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"347942b2dcab318109c407704fe4947c"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":299,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.745876,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"347942b2dcab318109c407704fe4947c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620353,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1M30.pvIFTCGtm3jBw_bLUl9XjZpfOTX97xYVVT9TxAcsQpY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"347942b2dcab318109c407704fe4947c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.716403053Z"}]},"request_id":"b832e6de-59ea-49b3-8faa-57cc2e1baa54","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620353.9186552} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"347942b2dcab318109c407704fe4947c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b9880b00-ec3d-48e0-b47c-b516473aa1aa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620353.9248424} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"347942b2dcab318109c407704fe4947c","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.716403053Z"}]},"request_id":"05325e56-ad14-49dc-8617-d755994ecb71","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620353.9605348} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"347942b2dcab318109c407704fe4947c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"347942b2dcab318109c407704fe4947c"} gateway-1 | {"time_local":"02/Apr/2025:18:59:13 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.083","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"347942b2dcab318109c407704fe4947c"} device-1 | {"level":"info","message":"PATCH /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b 200 54ms","method":"PATCH","requestID":"347942b2dcab318109c407704fe4947c","responseTime":54,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1M30.pvIFTCGtm3jBw_bLUl9XjZpfOTX97xYVVT9TxAcsQpY","level":"info","message":"auth send jwt","requestID":"dde4b3e02fce2055a8f7d693a013ab9d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"dde4b3e02fce2055a8f7d693a013ab9d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"dde4b3e02fce2055a8f7d693a013ab9d"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:13Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":300,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.94165,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:13Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"dde4b3e02fce2055a8f7d693a013ab9d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620353,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1M30.pvIFTCGtm3jBw_bLUl9XjZpfOTX97xYVVT9TxAcsQpY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"dde4b3e02fce2055a8f7d693a013ab9d","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg","level":"info","message":"auth send jwt","requestID":"072467a90b621b8b54e767d0407fcf61"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"072467a90b621b8b54e767d0407fcf61","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"072467a90b621b8b54e767d0407fcf61"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"dde4b3e02fce2055a8f7d693a013ab9d"} gateway-1 | {"time_local":"02/Apr/2025:18:59:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.046","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"dde4b3e02fce2055a8f7d693a013ab9d"} device-1 | {"level":"info","message":"POST /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/websocket 200 42ms","method":"POST","requestID":"dde4b3e02fce2055a8f7d693a013ab9d","responseTime":42,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/websocket"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":301,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.723635,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"072467a90b621b8b54e767d0407fcf61","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"072467a90b621b8b54e767d0407fcf61","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.825562218Z"}]},"request_id":"4deb6dbb-6ea2-4539-b732-b950e264c81b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.0187523} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"072467a90b621b8b54e767d0407fcf61","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0c5b632e-62ff-4145-94bb-5db3f8095fda","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.0236123} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"072467a90b621b8b54e767d0407fcf61","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b' connected"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.825562218Z"}]},"request_id":"2c5dc130-ac7f-4892-9136-e2512ac5caf7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.059253} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"072467a90b621b8b54e767d0407fcf61","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"072467a90b621b8b54e767d0407fcf61"} gateway-1 | {"time_local":"02/Apr/2025:18:59:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.057","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"072467a90b621b8b54e767d0407fcf61"} device-1 | {"level":"info","message":"PATCH /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe 200 53ms","method":"PATCH","requestID":"072467a90b621b8b54e767d0407fcf61","responseTime":53,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg","level":"info","message":"auth send jwt","requestID":"1428e6b72702dd0b9e5c0013c8f54a00"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1428e6b72702dd0b9e5c0013c8f54a00","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"1428e6b72702dd0b9e5c0013c8f54a00"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":302,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.882977,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1428e6b72702dd0b9e5c0013c8f54a00","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1428e6b72702dd0b9e5c0013c8f54a00","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"1428e6b72702dd0b9e5c0013c8f54a00"} gateway-1 | {"time_local":"02/Apr/2025:18:59:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/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.16","requestID":"1428e6b72702dd0b9e5c0013c8f54a00"} device-1 | {"level":"info","message":"POST /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/websocket 200 40ms","method":"POST","requestID":"1428e6b72702dd0b9e5c0013c8f54a00","responseTime":40,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg","level":"info","message":"auth send jwt","requestID":"d8234a635d56ce82608b98aae640c75c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d8234a635d56ce82608b98aae640c75c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d8234a635d56ce82608b98aae640c75c"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":303,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71486,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d8234a635d56ce82608b98aae640c75c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d8234a635d56ce82608b98aae640c75c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.716403053Z"}]},"request_id":"591e94f3-bd7d-48e4-b2e0-7f9903e6b5d8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.1516967} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d8234a635d56ce82608b98aae640c75c","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d8234a635d56ce82608b98aae640c75c"} gateway-1 | {"time_local":"02/Apr/2025:18:59:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b? 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":"d8234a635d56ce82608b98aae640c75c"} device-1 | {"level":"info","message":"GET /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b? 200 34ms","method":"GET","requestID":"d8234a635d56ce82608b98aae640c75c","responseTime":34,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg","level":"info","message":"auth send jwt","requestID":"3b0353b393d6fadd4ee1bdbdf9289052"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3b0353b393d6fadd4ee1bdbdf9289052","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3b0353b393d6fadd4ee1bdbdf9289052"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":304,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663979,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3b0353b393d6fadd4ee1bdbdf9289052","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3b0353b393d6fadd4ee1bdbdf9289052","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.825562218Z"}]},"request_id":"2401be7e-3488-4800-9af3-a30fbf4d0cc1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.1660745} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"3b0353b393d6fadd4ee1bdbdf9289052","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3b0353b393d6fadd4ee1bdbdf9289052"} gateway-1 | {"time_local":"02/Apr/2025:18:59:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe? 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":"3b0353b393d6fadd4ee1bdbdf9289052"} device-1 | {"level":"info","message":"GET /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe? 200 34ms","method":"GET","requestID":"3b0353b393d6fadd4ee1bdbdf9289052","responseTime":34,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg","level":"info","message":"auth send jwt","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"88b04f0b7b6b45eba3e0da513eefc602","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":305,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.751442,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"88b04f0b7b6b45eba3e0da513eefc602","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"88b04f0b7b6b45eba3e0da513eefc602","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Attempting to run experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Attempting to book experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Successfully booked experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91e49940-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91e4c050-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":306,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.909651,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"91e49940-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"91e49940-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":307,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.873101,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"91e4c050-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"91e4c050-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.716403053Z"}]},"request_id":"8138b4ee-41f4-443e-b9cd-bc4ef20076c1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.2924535} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"91e49940-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.825562218Z"}]},"request_id":"06af7dc8-5832-4d0c-9f7d-24af9c88cb03","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.2935028} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"91e4c050-0ff4-11f0-acd3-db29ca75a471","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91e49940-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b? 200 39ms","method":"GET","requestID":"91e49940-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91e4c050-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe? 200 39ms","method":"GET","requestID":"91e4c050-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Setting up experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Successfully locked booking for experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Attempting to update booking for experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Successfully updated booking for experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Successfully set up experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91f7ac10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"91f7d320-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Successfully running experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"91f82140-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":308,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.026083,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"91f7ac10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"91f7ac10-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":309,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.731223,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"91f7d320-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"91f7d320-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7d108db4-fddf-40b4-930a-4f723a50a4dc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.3972414} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.716403053Z"}]},"request_id":"7f3b8a2e-53df-4ad4-b25a-aa99403f3f13","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.3976495} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.825562218Z"}]},"request_id":"12ddcbe6-f3ea-437c-9e9d-f2e1c9349aff","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.3989727} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"91f7ac10-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":310,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.582497,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"91f82140-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","object_type":"device","rebac_allow":false,"scope_allow":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":"91f82140-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"91f7d320-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6d3c0719-d6e5-4b77-83cf-1f62dede91ce#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6d3c0719-d6e5-4b77-83cf-1f62dede91ce","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"c3d7a333-1036-4b4f-bb35-7c9c1a5e40ad","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.4047642} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f0a20be7-46d2-4773-8ab5-4e13d09c21f8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.4059386} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91f7ac10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"88b04f0b7b6b45eba3e0da513eefc602","responseTime":43,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"GET /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b? 200 48ms","method":"GET","requestID":"91f7ac10-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"91f82140-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/signaling 200 47ms","method":"POST","requestID":"91f82140-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"91f7d320-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe? 200 50ms","method":"GET","requestID":"91f7d320-0ff4-11f0-acd3-db29ca75a471","responseTime":50,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"91ffe970-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"92003790-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} gateway-1 | {"time_local":"02/Apr/2025:18:59:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"785","request_time":"0.249","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} experiment-1 | {"level":"info","message":"POST /experiments? 201 246ms","method":"POST","requestID":"88b04f0b7b6b45eba3e0da513eefc602","responseTime":246,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eeb23090-4253-4580-a3bf-28dcd3f95905","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.4457278} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7da38af9-1538-4331-9777-7a24cb452384","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.4457636} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":311,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.118027,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":312,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.026955,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"91ffe970-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","rebac_allow":false,"scope_allow":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":"91ffe970-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"92003790-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg","level":"info","message":"auth send jwt","requestID":"53d5fb609fe65cdb8a88eaadafd78003"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"92003790-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"53d5fb609fe65cdb8a88eaadafd78003","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"53d5fb609fe65cdb8a88eaadafd78003"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"91ffe970-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":313,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.016947,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} device-1 | {"level":"info","message":"POST /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/signaling 200 17ms","method":"POST","requestID":"91ffe970-0ff4-11f0-acd3-db29ca75a471","responseTime":17,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"92003790-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/signaling 200 16ms","method":"POST","requestID":"92003790-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9202f6b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"53d5fb609fe65cdb8a88eaadafd78003","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"53d5fb609fe65cdb8a88eaadafd78003","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.716403053Z"}]},"request_id":"a299852f-060b-4650-a0c6-724e26aaff82","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.489547} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4a32420-a29f-4db2-9720-e93bd8a4a11e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.4896848} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"53d5fb609fe65cdb8a88eaadafd78003","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":314,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.898554,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9202f6b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9202f6b0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"53d5fb609fe65cdb8a88eaadafd78003"} gateway-1 | {"time_local":"02/Apr/2025:18:59:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.050","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53d5fb609fe65cdb8a88eaadafd78003"} device-1 | {"level":"info","message":"GET /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b? 200 43ms","method":"GET","requestID":"53d5fb609fe65cdb8a88eaadafd78003","responseTime":43,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9202f6b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/signaling 200 36ms","method":"POST","requestID":"9202f6b0-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Building connection plan","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{},"role":"device1","serviceId":"file_producer","uuid":"1a3f54c1-d51a-4106-87dc-42b7db698fc3"},{"config":{},"role":"device2","serviceId":"file_consumer","uuid":"53ac15d4-b0a8-4302-8832-6ffe2746992b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/file","uuid":"6f3ec40b-f960-4f07-84a4-b006e9456061"}]},"level":"info","message":"Built pairwise service configurations","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} 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/3c3dd89f-b104-4328-b268-fb9617ced7fe"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"url":"http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg","level":"info","message":"auth send jwt","requestID":"c23c5ace32e1d62c7cd0699ecf76bc14"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c23c5ace32e1d62c7cd0699ecf76bc14","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c23c5ace32e1d62c7cd0699ecf76bc14"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Received request.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:46168","level":"info","msg":"Sent response.","req_id":315,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.763854,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":316,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.567511,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c23c5ace32e1d62c7cd0699ecf76bc14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620354,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1NH0.wtQDovxaLCb0aTIHgYO2SAULaYRS3q0Hw7mj2rwsIsg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c23c5ace32e1d62c7cd0699ecf76bc14","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:12.825562218Z"}]},"request_id":"1e1e0720-b1eb-47e3-ad03-b3792eef62ab","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.5316195} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c23c5ace32e1d62c7cd0699ecf76bc14","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c23c5ace32e1d62c7cd0699ecf76bc14"} gateway-1 | {"time_local":"02/Apr/2025:18:59:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe? 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":"c23c5ace32e1d62c7cd0699ecf76bc14"} device-1 | {"level":"info","message":"GET /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe? 200 35ms","method":"GET","requestID":"c23c5ace32e1d62c7cd0699ecf76bc14","responseTime":35,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"3fd41802-2f24-487f-8363-63a3b7ace64b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.5354366} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0ffb46ed-a147-4dbc-acbe-567d03d1647a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.5356183} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451'","requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451'","requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 57ms","method":"POST","requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471","responseTime":57,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"9208ea20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9218c8a0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"88b04f0b7b6b45eba3e0da513eefc602"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5de06b66-f62d-45a2-9aa6-cf3a6dde41ca","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.6265287} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":317,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":22.640037,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9218c8a0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","object_type":"device","rebac_allow":false,"scope_allow":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":"9218c8a0-0ff4-11f0-acd3-db29ca75a471","responseTime":25,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9218c8a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/signaling 200 28ms","method":"POST","requestID":"9218c8a0-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"921d5c80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c902d385-6011-432b-a80d-846e4541b52c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620354.637243} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":318,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.817511,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:14Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"921d5c80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"921d5c80-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"921d5c80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/signaling 200 9ms","method":"POST","requestID":"921d5c80-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/signaling"} device-1 | {"device":"3f456412-a7df-42fb-80e6-b97f3d461c5b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"d36365d9-38aa-4d88-a6e0-113489fcc451","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3c3dd89f-b104-4328-b268-fb9617ced7fe","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"d36365d9-38aa-4d88-a6e0-113489fcc451","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"3c3dd89f-b104-4328-b268-fb9617ced7fe","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c3dd89f-b104-4328-b268-fb9617ced7fe","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c3dd89f-b104-4328-b268-fb9617ced7fe","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c3dd89f-b104-4328-b268-fb9617ced7fe","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/d36365d9-38aa-4d88-a6e0-113489fcc451' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d36365d9-38aa-4d88-a6e0-113489fcc451","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e49f4934ed9e673edf46bc4f32a50b54","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e49f4934ed9e673edf46bc4f32a50b54","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/3c3dd89f-b104-4328-b268-fb9617ced7fe"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"new","url":"http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451"}}},"level":"info","message":"received a callback","requestID":"e49f4934ed9e673edf46bc4f32a50b54"} device-1 | {"device":"3f456412-a7df-42fb-80e6-b97f3d461c5b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3f456412-a7df-42fb-80e6-b97f3d461c5b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3f456412-a7df-42fb-80e6-b97f3d461c5b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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 30ms","method":"POST","requestID":"e49f4934ed9e673edf46bc4f32a50b54","responseTime":30,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"e49f4934ed9e673edf46bc4f32a50b54"} device-1 | {"device":"3f456412-a7df-42fb-80e6-b97f3d461c5b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c3dd89f-b104-4328-b268-fb9617ced7fe","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c3dd89f-b104-4328-b268-fb9617ced7fe","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3f456412-a7df-42fb-80e6-b97f3d461c5b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"d36365d9-38aa-4d88-a6e0-113489fcc451","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"d36365d9-38aa-4d88-a6e0-113489fcc451","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/d36365d9-38aa-4d88-a6e0-113489fcc451' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d36365d9-38aa-4d88-a6e0-113489fcc451","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0caad33d558056677787f275e9ebe827","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451"}}},"level":"info","message":"received a callback","requestID":"0caad33d558056677787f275e9ebe827"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0caad33d558056677787f275e9ebe827","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"93603cc0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:16Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd36365d9-38aa-4d88-a6e0-113489fcc451","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b4ae3a1b-9e16-4e58-8863-407a1c974ce1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620356.7537968} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":319,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.162435,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"93603cc0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451","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":"93603cc0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"93603cc0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451 200 10ms","method":"GET","requestID":"93603cc0-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 59ms","method":"POST","requestID":"0caad33d558056677787f275e9ebe827","responseTime":59,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.062","http_referrer":"","http_user_agent":"node-fetch","requestID":"0caad33d558056677787f275e9ebe827"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"93687a20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:16Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75a5fa22-57d2-4e70-a349-85fc8aedc797","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620356.8076785} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":320,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.547627,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"93687a20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","rebac_allow":false,"scope_allow":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":"93687a20-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"93687a20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/signaling 200 35ms","method":"POST","requestID":"93687a20-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"936e1f70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:16Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a744b019-cb63-45fc-a7f2-4c990cf8be1d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620356.8436053} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":321,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.517219,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:16Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"936e1f70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"936e1f70-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"936e1f70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/signaling 200 9ms","method":"POST","requestID":"936e1f70-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Nn0.0RwfgVykpcdQ2XG2tJcOu7zp_rdJAa0t5Jp7ffOudFU","level":"info","message":"auth send jwt","requestID":"58501c361eefe8fa994e549a8f73ca50"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"58501c361eefe8fa994e549a8f73ca50","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce","requestID":"58501c361eefe8fa994e549a8f73ca50"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:16Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":322,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.685458,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:16Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"58501c361eefe8fa994e549a8f73ca50","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620356,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Nn0.0RwfgVykpcdQ2XG2tJcOu7zp_rdJAa0t5Jp7ffOudFU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"58501c361eefe8fa994e549a8f73ca50","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce","requestID":"58501c361eefe8fa994e549a8f73ca50"} gateway-1 | {"time_local":"02/Apr/2025:18:59:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce HTTP/1.1","status": "200","body_bytes_sent":"858","request_time":"0.016","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"58501c361eefe8fa994e549a8f73ca50"} experiment-1 | {"level":"info","message":"GET /experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce 200 10ms","method":"GET","requestID":"58501c361eefe8fa994e549a8f73ca50","responseTime":10,"status":200,"url":"/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Nn0.0RwfgVykpcdQ2XG2tJcOu7zp_rdJAa0t5Jp7ffOudFU","level":"info","message":"auth send jwt","requestID":"704c8a77dd607a6240c2602fdb7b6c52"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"704c8a77dd607a6240c2602fdb7b6c52","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce","requestID":"704c8a77dd607a6240c2602fdb7b6c52"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":323,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":24.904359,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"704c8a77dd607a6240c2602fdb7b6c52","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620356,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Nn0.0RwfgVykpcdQ2XG2tJcOu7zp_rdJAa0t5Jp7ffOudFU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"704c8a77dd607a6240c2602fdb7b6c52","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Attempting to finish experiment","requestID":"704c8a77dd607a6240c2602fdb7b6c52"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"938b9280-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":324,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.696336,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"938b9280-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620356,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1Nn0.0RwfgVykpcdQ2XG2tJcOu7zp_rdJAa0t5Jp7ffOudFU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"938b9280-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"device":"3f456412-a7df-42fb-80e6-b97f3d461c5b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3f456412-a7df-42fb-80e6-b97f3d461c5b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3f456412-a7df-42fb-80e6-b97f3d461c5b","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c3dd89f-b104-4328-b268-fb9617ced7fe","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c3dd89f-b104-4328-b268-fb9617ced7fe","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3c3dd89f-b104-4328-b268-fb9617ced7fe","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/d36365d9-38aa-4d88-a6e0-113489fcc451' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"d36365d9-38aa-4d88-a6e0-113489fcc451","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd36365d9-38aa-4d88-a6e0-113489fcc451': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fd36365d9-38aa-4d88-a6e0-113489fcc451","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"a3ba7dc7-35cc-4f67-90ec-e799a705bbbd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.0487952} 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/3c3dd89f-b104-4328-b268-fb9617ced7fe"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451"}}},"level":"info","message":"received a callback","requestID":"f2c8dab1e497ce647ad91f1b7cace997"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35178edc-43e2-4a87-97ac-be06ea93412e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.049155} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"f2c8dab1e497ce647ad91f1b7cace997","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"f2c8dab1e497ce647ad91f1b7cace997","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"69137bdff9a273b45c68dfe240a9c50b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"69137bdff9a273b45c68dfe240a9c50b","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"remoteServiceId":"file_producer","serviceId":"file_consumer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"connected","url":"http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe"},{"config":{"services":[{"remoteServiceId":"file_consumer","serviceId":"file_producer","serviceType":"http://api.goldi-labs.de/serviceTypes/file"}]},"status":"closed","url":"http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451"}}},"level":"info","message":"received a callback","requestID":"69137bdff9a273b45c68dfe240a9c50b"} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"938b9280-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"d36365d9-38aa-4d88-a6e0-113489fcc451","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"938b9280-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451 204 94ms","method":"DELETE","requestID":"938b9280-0ff4-11f0-acd3-db29ca75a471","responseTime":94,"status":204,"url":"/peerconnections/d36365d9-38aa-4d88-a6e0-113489fcc451"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"},"level":"info","message":"Successfully finished experiment","requestID":"704c8a77dd607a6240c2602fdb7b6c52"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"93a0a120-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3c3dd89f-b104-4328-b268-fb9617ced7fe","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7a1ec308-e3dd-4a52-8b53-86039e6d7f7e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.1744323} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":325,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.454366,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"93a0a120-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"93a0a120-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"93a0a120-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/signaling 200 9ms","method":"POST","requestID":"93a0a120-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"93a24ed0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3f456412-a7df-42fb-80e6-b97f3d461c5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f27b7408-860e-4dd4-ad5f-46300bfad7b8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.1857884} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":326,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.722557,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"93a24ed0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"93a24ed0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6d3c0719-d6e5-4b77-83cf-1f62dede91ce': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F6d3c0719-d6e5-4b77-83cf-1f62dede91ce","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"9eef6d15-4d27-412f-92ac-5c6d4c12d37e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.186606} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"76933e67-9f9e-45ab-b0dc-ac7a1e6d0486","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.186979} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"704c8a77dd607a6240c2602fdb7b6c52","responseTime":20,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"93a24ed0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/signaling 200 9ms","method":"POST","requestID":"93a24ed0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce","requestID":"704c8a77dd607a6240c2602fdb7b6c52"} gateway-1 | {"time_local":"02/Apr/2025:18:59:17 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.342","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"704c8a77dd607a6240c2602fdb7b6c52"} gateway-1 | {"time_local":"02/Apr/2025:18:59:17 +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.350","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"383f15b4c1c2c75960412c744cc10dc3"} gateway-1 | {"time_local":"02/Apr/2025:18:59:17 +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.253","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"87d9bf132f82fd69016110c111001173"} experiment-1 | {"level":"info","message":"DELETE /experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce 204 365ms","method":"DELETE","requestID":"704c8a77dd607a6240c2602fdb7b6c52","responseTime":365,"status":204,"url":"/experiments/6d3c0719-d6e5-4b77-83cf-1f62dede91ce"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.318","http_referrer":"","http_user_agent":"node-fetch","requestID":"f2c8dab1e497ce647ad91f1b7cace997"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 315ms","method":"POST","requestID":"f2c8dab1e497ce647ad91f1b7cace997","responseTime":315,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3f456412-a7df-42fb-80e6-b97f3d461c5b' closed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 289ms","method":"POST","requestID":"69137bdff9a273b45c68dfe240a9c50b","responseTime":289,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1N30.fqV0rJJDv8p3hAu1SMsnAG7jSMT3dLdAAW2Bi3_caIo","level":"info","message":"auth send jwt","requestID":"3e78e018039f993618164cbb1a7caf08"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.319","http_referrer":"","http_user_agent":"node-fetch","requestID":"69137bdff9a273b45c68dfe240a9c50b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3e78e018039f993618164cbb1a7caf08","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3e78e018039f993618164cbb1a7caf08"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":327,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.955761,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3e78e018039f993618164cbb1a7caf08","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620357,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1N30.fqV0rJJDv8p3hAu1SMsnAG7jSMT3dLdAAW2Bi3_caIo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3e78e018039f993618164cbb1a7caf08","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3c3dd89f-b104-4328-b268-fb9617ced7fe' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d78b7e58-0b42-4c96-ad73-c2a8f8a8e50d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.4177938} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3e78e018039f993618164cbb1a7caf08","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70807863-c2da-44ce-a631-ceb0b5339abf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.4242165} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"3e78e018039f993618164cbb1a7caf08","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"70d8db87-d1e9-4caf-930f-b5539fc3b8c8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.463266} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c07ce74a-74b8-4880-b5de-2e4fd9c50e57","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.4635217} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"3e78e018039f993618164cbb1a7caf08","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:17.463232286Z"}]},"request_id":"0c324e73-4baf-432c-9d94-549737a0629a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.468536} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3e78e018039f993618164cbb1a7caf08","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3e78e018039f993618164cbb1a7caf08"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.108","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3e78e018039f993618164cbb1a7caf08"} device-1 | {"level":"info","message":"POST /devices? 201 101ms","method":"POST","requestID":"3e78e018039f993618164cbb1a7caf08","responseTime":101,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1N30.fqV0rJJDv8p3hAu1SMsnAG7jSMT3dLdAAW2Bi3_caIo","level":"info","message":"auth send jwt","requestID":"7ac0d2dce906318d5a1c79a24a8065ef"} device-1 | {"level":"info","message":"postDevices called","requestID":"7ac0d2dce906318d5a1c79a24a8065ef"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7ac0d2dce906318d5a1c79a24a8065ef","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":328,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.992997,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:17Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7ac0d2dce906318d5a1c79a24a8065ef","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620357,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM1N30.fqV0rJJDv8p3hAu1SMsnAG7jSMT3dLdAAW2Bi3_caIo"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"7ac0d2dce906318d5a1c79a24a8065ef","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"77f2e40e-9286-4fd0-a2df-3d2bb9a8c9a7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.5632975} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7ac0d2dce906318d5a1c79a24a8065ef","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8905d6c5-4432-4eeb-b6fb-38ed4385a023","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.5683165} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"7ac0d2dce906318d5a1c79a24a8065ef","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"d0b0c777-95c3-47dd-89a5-c481f16f45a8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.6063745} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b39dcca2-29d6-474e-909e-3e49bc762aee","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.606652} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"7ac0d2dce906318d5a1c79a24a8065ef","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:17.606342533Z"}]},"request_id":"3b0599b2-0dc6-4ac5-a040-52546138316f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620357.610691} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7ac0d2dce906318d5a1c79a24a8065ef","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7ac0d2dce906318d5a1c79a24a8065ef"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.140","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7ac0d2dce906318d5a1c79a24a8065ef"} device-1 | {"level":"info","message":"POST /devices? 201 135ms","method":"POST","requestID":"7ac0d2dce906318d5a1c79a24a8065ef","responseTime":135,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fa3f92651440db9b800ea98b187b28bb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fa3f92651440db9b800ea98b187b28bb","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"bd042206de1d2305afe54d733f416311","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"bd042206de1d2305afe54d733f416311","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fa3f92651440db9b800ea98b187b28bb"} device-1 | {"level":"info","message":"OPTIONS /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/websocket 200 0ms","method":"OPTIONS","requestID":"fa3f92651440db9b800ea98b187b28bb","responseTime":0,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/websocket"} device-1 | {"level":"info","message":"OPTIONS /devices/fff65268-467a-4b19-aeb6-6e924753d2be/websocket 200 1ms","method":"OPTIONS","requestID":"bd042206de1d2305afe54d733f416311","responseTime":1,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/fff65268-467a-4b19-aeb6-6e924753d2be/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":"bd042206de1d2305afe54d733f416311"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I","level":"info","message":"auth send jwt","requestID":"e4a7c48dbb92626f53a43c1d5bdc18ae"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4a7c48dbb92626f53a43c1d5bdc18ae","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e4a7c48dbb92626f53a43c1d5bdc18ae"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I","level":"info","message":"auth send jwt","requestID":"32afb7c653a2199c145bf090f8082bf1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"32afb7c653a2199c145bf090f8082bf1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"32afb7c653a2199c145bf090f8082bf1"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":329,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.626163,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e4a7c48dbb92626f53a43c1d5bdc18ae","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e4a7c48dbb92626f53a43c1d5bdc18ae","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":330,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702649,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"32afb7c653a2199c145bf090f8082bf1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"32afb7c653a2199c145bf090f8082bf1","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e4a7c48dbb92626f53a43c1d5bdc18ae"} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.056","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e4a7c48dbb92626f53a43c1d5bdc18ae"} device-1 | {"level":"info","message":"POST /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/websocket 200 51ms","method":"POST","requestID":"e4a7c48dbb92626f53a43c1d5bdc18ae","responseTime":51,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"32afb7c653a2199c145bf090f8082bf1"} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/fff65268-467a-4b19-aeb6-6e924753d2be/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.087","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"32afb7c653a2199c145bf090f8082bf1"} device-1 | {"level":"info","message":"POST /devices/fff65268-467a-4b19-aeb6-6e924753d2be/websocket 200 83ms","method":"POST","requestID":"32afb7c653a2199c145bf090f8082bf1","responseTime":83,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I","level":"info","message":"auth send jwt","requestID":"1b65aafac08d3f6351df73ce548c37fc"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"1b65aafac08d3f6351df73ce548c37fc","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1b65aafac08d3f6351df73ce548c37fc"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":331,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.672855,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1b65aafac08d3f6351df73ce548c37fc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"1b65aafac08d3f6351df73ce548c37fc","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:17.463232286Z"}]},"request_id":"fb442f75-762b-470e-bd2e-c7ce1bea1fb4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.2492518} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1b65aafac08d3f6351df73ce548c37fc","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1b65aafac08d3f6351df73ce548c37fc"} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fff65268-467a-4b19-aeb6-6e924753d2be? 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":"1b65aafac08d3f6351df73ce548c37fc"} device-1 | {"level":"info","message":"GET /devices/fff65268-467a-4b19-aeb6-6e924753d2be? 200 9ms","method":"GET","requestID":"1b65aafac08d3f6351df73ce548c37fc","responseTime":9,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I","level":"info","message":"auth send jwt","requestID":"953bcd40b28bce0c75e5cc98951d7a8f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"953bcd40b28bce0c75e5cc98951d7a8f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"953bcd40b28bce0c75e5cc98951d7a8f"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":332,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704164,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"953bcd40b28bce0c75e5cc98951d7a8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"953bcd40b28bce0c75e5cc98951d7a8f","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:17.606342533Z"}]},"request_id":"54162032-0282-4fc2-833a-0bd952e1a630","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.2622905} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"953bcd40b28bce0c75e5cc98951d7a8f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"953bcd40b28bce0c75e5cc98951d7a8f"} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"953bcd40b28bce0c75e5cc98951d7a8f"} device-1 | {"level":"info","message":"GET /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6? 200 33ms","method":"GET","requestID":"953bcd40b28bce0c75e5cc98951d7a8f","responseTime":33,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I","level":"info","message":"auth send jwt","requestID":"0f7cd596064ffd737512941071914309"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"0f7cd596064ffd737512941071914309","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"0f7cd596064ffd737512941071914309"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":333,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.669989,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"0f7cd596064ffd737512941071914309","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"0f7cd596064ffd737512941071914309","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Attempting to run experiment","requestID":"0f7cd596064ffd737512941071914309"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Attempting to book experiment","requestID":"0f7cd596064ffd737512941071914309"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Successfully booked experiment","requestID":"0f7cd596064ffd737512941071914309"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"958566b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9585b4d0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":334,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877103,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"958566b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"958566b0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":335,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.55285,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9585b4d0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9585b4d0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:17.463232286Z"}]},"request_id":"51112072-374c-48b2-936f-ce218dc0f198","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.355947} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"958566b0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:17.606342533Z"}]},"request_id":"3c6e7f16-90f7-4291-9678-627fadb262c7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.3569648} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9585b4d0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"958566b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/fff65268-467a-4b19-aeb6-6e924753d2be? 200 42ms","method":"GET","requestID":"958566b0-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9585b4d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6? 200 41ms","method":"GET","requestID":"9585b4d0-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Setting up experiment","requestID":"0f7cd596064ffd737512941071914309"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"0f7cd596064ffd737512941071914309"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Successfully locked booking for experiment","requestID":"0f7cd596064ffd737512941071914309"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"0f7cd596064ffd737512941071914309"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"0f7cd596064ffd737512941071914309"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Attempting to update booking for experiment","requestID":"0f7cd596064ffd737512941071914309"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Successfully updated booking for experiment","requestID":"0f7cd596064ffd737512941071914309"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Successfully set up experiment","requestID":"0f7cd596064ffd737512941071914309"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"959a2730-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"959a4e40-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Successfully running experiment","requestID":"0f7cd596064ffd737512941071914309"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"959a9c60-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":336,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687518,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"959a2730-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"959a2730-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":337,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71033,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"959a4e40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"959a4e40-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"efbf4889-efe7-4fed-b4ca-2e476c6f5a4f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.492776} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":338,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.688093,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"959a9c60-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","object_type":"device","rebac_allow":false,"scope_allow":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":"959a9c60-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:17.463232286Z"}]},"request_id":"3dd89d1c-e2be-4007-aa72-a10420f3928c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.4945636} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:17.606342533Z"}]},"request_id":"e9dfcbd2-2991-44dc-aff5-ff84e174b23c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.495996} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"959a2730-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"959a4e40-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"959a9c60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/fff65268-467a-4b19-aeb6-6e924753d2be/signaling 200 16ms","method":"POST","requestID":"959a9c60-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F438f877b-a9e1-4c21-9627-8b79a14dcaee#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F438f877b-a9e1-4c21-9627-8b79a14dcaee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"3266fd76-463a-4200-b637-e68b3f53e803","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.502031} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"959a2730-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d624f09b-a6fc-44a5-af5a-48ed9da0fa23","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.5020926} device-1 | {"level":"info","message":"GET /devices/fff65268-467a-4b19-aeb6-6e924753d2be? 200 20ms","method":"GET","requestID":"959a2730-0ff4-11f0-acd3-db29ca75a471","responseTime":20,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"959a4e40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6? 200 20ms","method":"GET","requestID":"959a4e40-0ff4-11f0-acd3-db29ca75a471","responseTime":20,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"0f7cd596064ffd737512941071914309","responseTime":42,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95a10500-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95a17a30-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2ed5890e-c11f-46c0-aff9-33c12bf9f4e8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.5332446} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":339,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.887762,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95a10500-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95a10500-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"257a2d5c-ff48-4774-b8b4-a508b1945c75","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.535623} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":340,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.98013,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"0f7cd596064ffd737512941071914309"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95a17a30-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95a17a30-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.247","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"0f7cd596064ffd737512941071914309"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95a10500-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/signaling 200 10ms","method":"POST","requestID":"95a10500-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 245ms","method":"POST","requestID":"0f7cd596064ffd737512941071914309","responseTime":245,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95a17a30-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/fff65268-467a-4b19-aeb6-6e924753d2be/signaling 200 10ms","method":"POST","requestID":"95a17a30-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I","level":"info","message":"auth send jwt","requestID":"2951c921d9ab66d942d4534de10c3eda"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2951c921d9ab66d942d4534de10c3eda","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2951c921d9ab66d942d4534de10c3eda"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95a37600-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":341,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.961098,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2951c921d9ab66d942d4534de10c3eda","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"2951c921d9ab66d942d4534de10c3eda","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7dcb19fa-6458-4a88-8726-41f724f54c7f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.548181} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":342,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.449441,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95a37600-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95a37600-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:17.463232286Z"}]},"request_id":"f8dafaa1-bcb8-4cf4-be24-c950c9ef3915","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.5501928} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"2951c921d9ab66d942d4534de10c3eda","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95a37600-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/signaling 200 35ms","method":"POST","requestID":"95a37600-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2951c921d9ab66d942d4534de10c3eda"} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/fff65268-467a-4b19-aeb6-6e924753d2be? 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":"2951c921d9ab66d942d4534de10c3eda"} device-1 | {"level":"info","message":"GET /devices/fff65268-467a-4b19-aeb6-6e924753d2be? 200 37ms","method":"GET","requestID":"2951c921d9ab66d942d4534de10c3eda","responseTime":37,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"0f7cd596064ffd737512941071914309"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Building connection plan","requestID":"0f7cd596064ffd737512941071914309"} 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":"25616186-7f04-4177-8b80-ae047335ec47"},{"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":"978df1cb-b1a2-4976-9112-9dc5db875ac3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c3c665ca-9655-4728-8d1d-44937a57c34e"}]},"level":"info","message":"Built pairwise service configurations","requestID":"0f7cd596064ffd737512941071914309"} 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/fff65268-467a-4b19-aeb6-6e924753d2be"},{"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/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"0f7cd596064ffd737512941071914309"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"95a91b50-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I","level":"info","message":"auth send jwt","requestID":"d9f8870eb22bcb5246a2eca263a4efca"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d9f8870eb22bcb5246a2eca263a4efca","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d9f8870eb22bcb5246a2eca263a4efca"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":343,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":1.006381,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95a91b50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"95a91b50-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":344,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.361217,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d9f8870eb22bcb5246a2eca263a4efca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d9f8870eb22bcb5246a2eca263a4efca","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:17.606342533Z"}]},"request_id":"2929e772-7c7f-41f8-bced-c7c17c899941","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.591478} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d9f8870eb22bcb5246a2eca263a4efca","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d9f8870eb22bcb5246a2eca263a4efca"} device-1 | {"level":"info","message":"GET /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6? 200 10ms","method":"GET","requestID":"d9f8870eb22bcb5246a2eca263a4efca","responseTime":10,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6?"} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6? 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":"d9f8870eb22bcb5246a2eca263a4efca"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"773836d6-993d-4cc1-90c2-e2cc611190b5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.5950592} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5705b05d-d05b-4dcc-9c6a-0e61b5bef178","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.5953894} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"95a91b50-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"95a91b50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"95a91b50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f'","requestID":"95a91b50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f'","requestID":"95a91b50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"95a91b50-0ff4-11f0-acd3-db29ca75a471"} 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":"95a91b50-0ff4-11f0-acd3-db29ca75a471","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":"95a91b50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f","device":"fff65268-467a-4b19-aeb6-6e924753d2be","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/c5ca8cc8-d587-4fd6-bff8-257df7fb951f","device":"97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","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/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"0f7cd596064ffd737512941071914309"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95b8d2c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"device":"fff65268-467a-4b19-aeb6-6e924753d2be","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"fff65268-467a-4b19-aeb6-6e924753d2be","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} device-1 | {"device":"97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"577e3ce0-c990-4ba8-beb6-1ca66c3207d4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.6912668} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":345,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.987839,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95b8d2c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","object_type":"device","rebac_allow":false,"scope_allow":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":"95b8d2c0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"content":{"sdp":"v=0\r\no=- 2960668026362896048 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:k4rB\r\na=ice-pwd:dooGp/njuUP98BRKIrAgYOHK\r\na=ice-options:trickle\r\na=fingerprint:sha-256 F1:96:05:DA:FF:06:CA:DD:E9:89:28:D2:12:58:30:4E:B5:C5:8A:52:E8:E6:BC:24:F8:D1:0D:CD:17:0E:5D:44\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95b8d2c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/fff65268-467a-4b19-aeb6-6e924753d2be/signaling 200 39ms","method":"POST","requestID":"95b8d2c0-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95beed40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6b386f7c-874b-4d79-9a93-35f5a49e610d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.729595} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":346,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.865652,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95beed40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"95beed40-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95beed40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/signaling 200 12ms","method":"POST","requestID":"95beed40-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 6208601520500292674 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:S/6e\r\na=ice-pwd:PnzznOAw8JcNe+eEy+MfJ7AW\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C2:A2:0B:FA:2C:52:D2:96:3C:7C:7C:63:C7:96:75:6E:3A:1C:36:E8:4D:65:4A:33:E8:13:84:AA:D9:31:E3:0A\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"fff65268-467a-4b19-aeb6-6e924753d2be","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1134152598 1 udp 2113937151 6509e0d8-6096-4fe2-b426-3ff3495828d4.local 32773 typ host generation 0 ufrag S/6e network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"fff65268-467a-4b19-aeb6-6e924753d2be","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/fff65268-467a-4b19-aeb6-6e924753d2be'"} device-1 | {"content":{"candidate":"candidate:2117797661 1 udp 2113937151 53c8fa53-fc3d-4a3a-8522-c69935a93473.local 34984 typ host generation 0 ufrag k4rB network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","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/c5ca8cc8-d587-4fd6-bff8-257df7fb951f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c5ca8cc8-d587-4fd6-bff8-257df7fb951f","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"fff65268-467a-4b19-aeb6-6e924753d2be","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"18fa6101ba4b16b8940ab8e5072433d2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"18fa6101ba4b16b8940ab8e5072433d2","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"fff65268-467a-4b19-aeb6-6e924753d2be","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","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/fff65268-467a-4b19-aeb6-6e924753d2be"},{"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/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f"}}},"level":"info","message":"received a callback","requestID":"18fa6101ba4b16b8940ab8e5072433d2"} device-1 | {"device":"97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"fff65268-467a-4b19-aeb6-6e924753d2be","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":"18fa6101ba4b16b8940ab8e5072433d2","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"18fa6101ba4b16b8940ab8e5072433d2"} device-1 | {"data":{"peerconnection":"c5ca8cc8-d587-4fd6-bff8-257df7fb951f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"fff65268-467a-4b19-aeb6-6e924753d2be","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"c5ca8cc8-d587-4fd6-bff8-257df7fb951f","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/c5ca8cc8-d587-4fd6-bff8-257df7fb951f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c5ca8cc8-d587-4fd6-bff8-257df7fb951f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"007bbe4a481b298015fca589e11b1cb1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"007bbe4a481b298015fca589e11b1cb1","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/fff65268-467a-4b19-aeb6-6e924753d2be"},{"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/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f"}}},"level":"info","message":"received a callback","requestID":"007bbe4a481b298015fca589e11b1cb1"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"95d02b50-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc5ca8cc8-d587-4fd6-bff8-257df7fb951f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9d242c7-3299-4f52-ad15-80475dc131af","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.8651564} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":347,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.323634,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95d02b50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f","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 28ms","method":"POST","requestID":"95d02b50-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"95d02b50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f 200 31ms","method":"GET","requestID":"95d02b50-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 50ms","method":"POST","requestID":"007bbe4a481b298015fca589e11b1cb1","responseTime":50,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"007bbe4a481b298015fca589e11b1cb1"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95d75740-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I","level":"info","message":"auth send jwt","requestID":"3972d96244d5ad515660bbc9da8057df"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db438b62-9761-4c2f-b318-7fa1b6dcf16c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.917376} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3972d96244d5ad515660bbc9da8057df","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee","requestID":"3972d96244d5ad515660bbc9da8057df"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":348,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.24396,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95d75740-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","object_type":"device","rebac_allow":false,"scope_allow":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":"95d75740-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":349,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.850324,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3972d96244d5ad515660bbc9da8057df","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3972d96244d5ad515660bbc9da8057df","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95d75740-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/fff65268-467a-4b19-aeb6-6e924753d2be/signaling 200 42ms","method":"POST","requestID":"95d75740-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95de0e00-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee","requestID":"3972d96244d5ad515660bbc9da8057df"} experiment-1 | {"level":"info","message":"GET /experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee 200 14ms","method":"GET","requestID":"3972d96244d5ad515660bbc9da8057df","responseTime":14,"status":200,"url":"/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b06ae9c4-2cc1-484b-9837-d09ac5f1b313","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.93269} gateway-1 | {"time_local":"02/Apr/2025:18:59:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3972d96244d5ad515660bbc9da8057df"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":350,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.485913,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I","level":"info","message":"auth send jwt","requestID":"3780ffc45bc7e5ee8c108b6463fd859a"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95de0e00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","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":"3780ffc45bc7e5ee8c108b6463fd859a","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"95de0e00-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee","requestID":"3780ffc45bc7e5ee8c108b6463fd859a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95de0e00-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} device-1 | {"level":"info","message":"POST /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/signaling 200 36ms","method":"POST","requestID":"95de0e00-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":351,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.900675,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3780ffc45bc7e5ee8c108b6463fd859a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3780ffc45bc7e5ee8c108b6463fd859a","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Attempting to finish experiment","requestID":"3780ffc45bc7e5ee8c108b6463fd859a"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"95e476a0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":352,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.63446,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:20Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95e476a0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620360,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MH0.bxMdrklBsm_DN80Ft6qBqCRNhl6N44tyoRH9qrysc5I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"95e476a0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f","device":"fff65268-467a-4b19-aeb6-6e924753d2be","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f","device":"97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4a9da94bfbfd5fa37c589007230de3bf","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/c5ca8cc8-d587-4fd6-bff8-257df7fb951f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"c5ca8cc8-d587-4fd6-bff8-257df7fb951f","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc5ca8cc8-d587-4fd6-bff8-257df7fb951f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fc5ca8cc8-d587-4fd6-bff8-257df7fb951f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"910bc3b2-8d8e-4648-89ed-367f08e8173b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.9835684} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"993b670f-43e2-4561-8985-0b08786aa3cb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620360.983917} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"95e476a0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/update"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be'"} authentication-1 | {"level":"info","message":"GET /auth 200 24ms","method":"GET","requestID":"4a9da94bfbfd5fa37c589007230de3bf","responseTime":24,"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/fff65268-467a-4b19-aeb6-6e924753d2be"},{"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/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f"}}},"level":"info","message":"received a callback","requestID":"4a9da94bfbfd5fa37c589007230de3bf"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"21ae2c38f7f0cb15732f55f1940d3ba7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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-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/fff65268-467a-4b19-aeb6-6e924753d2be"},{"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/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f"}}},"level":"info","message":"received a callback","requestID":"21ae2c38f7f0cb15732f55f1940d3ba7"} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"21ae2c38f7f0cb15732f55f1940d3ba7","responseTime":0,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"95e476a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f 204 52ms","method":"DELETE","requestID":"95e476a0-0ff4-11f0-acd3-db29ca75a471","responseTime":52,"status":204,"url":"/peerconnections/c5ca8cc8-d587-4fd6-bff8-257df7fb951f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"},"level":"info","message":"Successfully finished experiment","requestID":"3780ffc45bc7e5ee8c108b6463fd859a"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95ee61b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:21Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Ffff65268-467a-4b19-aeb6-6e924753d2be","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bbd4e67f-f183-46a9-80f4-3eac0bac6d57","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.0621755} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":353,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.609334,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95ee61b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/fff65268-467a-4b19-aeb6-6e924753d2be","object_type":"device","rebac_allow":false,"scope_allow":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":"95ee61b0-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95ee61b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/fff65268-467a-4b19-aeb6-6e924753d2be/signaling 200 31ms","method":"POST","requestID":"95ee61b0-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/devices/fff65268-467a-4b19-aeb6-6e924753d2be/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"95f36ac0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F438f877b-a9e1-4c21-9627-8b79a14dcaee': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F438f877b-a9e1-4c21-9627-8b79a14dcaee","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"5bef4add-a19d-4b3b-b72a-2c20de857ea1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.0711477} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"693da471-23e3-4b9e-9878-57ef22e3263b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.0714748} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:21Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"3780ffc45bc7e5ee8c108b6463fd859a","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"abd60274-7a33-4eb6-b020-ea52c24733fa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.0741203} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":354,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.969882,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:21Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"95f36ac0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"95f36ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"95f36ac0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/signaling 200 11ms","method":"POST","requestID":"95f36ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee","requestID":"3780ffc45bc7e5ee8c108b6463fd859a"} gateway-1 | {"time_local":"02/Apr/2025:18:59:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee 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":"3780ffc45bc7e5ee8c108b6463fd859a"} experiment-1 | {"level":"info","message":"DELETE /experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee 204 203ms","method":"DELETE","requestID":"3780ffc45bc7e5ee8c108b6463fd859a","responseTime":203,"status":204,"url":"/experiments/438f877b-a9e1-4c21-9627-8b79a14dcaee"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 153ms","method":"POST","requestID":"4a9da94bfbfd5fa37c589007230de3bf","responseTime":153,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.179","http_referrer":"","http_user_agent":"node-fetch","requestID":"4a9da94bfbfd5fa37c589007230de3bf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 153ms","method":"POST","requestID":"21ae2c38f7f0cb15732f55f1940d3ba7","responseTime":153,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.180","http_referrer":"","http_user_agent":"node-fetch","requestID":"21ae2c38f7f0cb15732f55f1940d3ba7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MX0.DLnsXIRuonptdQAdUXeIrD7fBHevpURt4RtU8_wPl1E","level":"info","message":"auth send jwt","requestID":"d9515e05853baa3326d2cbf19e1a1ef8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"d9515e05853baa3326d2cbf19e1a1ef8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d9515e05853baa3326d2cbf19e1a1ef8"} gateway-1 | {"time_local":"02/Apr/2025:18:59:21 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"1.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":"437fb514e2a9d027a3b985ff58c3d229"} gateway-1 | {"time_local":"02/Apr/2025:18:59:21 +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.975","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"4a47ed95affdb47c0f1371b25b48e1bb"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/97ab82fd-d0ba-406e-a99f-bc960bc0d8d6' closed"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:21Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":355,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.785791,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d9515e05853baa3326d2cbf19e1a1ef8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620361,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MX0.DLnsXIRuonptdQAdUXeIrD7fBHevpURt4RtU8_wPl1E"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d9515e05853baa3326d2cbf19e1a1ef8","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/fff65268-467a-4b19-aeb6-6e924753d2be' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4e6cafd4-8ab0-4bf6-a8b4-d187c9519403","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.2217467} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d9515e05853baa3326d2cbf19e1a1ef8","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6141ba91-d34f-4f77-bbba-7d4cd76f7055","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.2260625} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d9515e05853baa3326d2cbf19e1a1ef8","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"469c801e-97a5-4767-a018-e924152c8bd6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.259867} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ebb839c6-e6c4-4d2b-a0bb-3e6537717703","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.2601469} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"d9515e05853baa3326d2cbf19e1a1ef8","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:21.259844291Z"}]},"request_id":"fc560895-7065-415e-a401-4878e0dc5f24","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.264076} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d9515e05853baa3326d2cbf19e1a1ef8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d9515e05853baa3326d2cbf19e1a1ef8"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"d9515e05853baa3326d2cbf19e1a1ef8","responseTime":95,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.100","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d9515e05853baa3326d2cbf19e1a1ef8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MX0.DLnsXIRuonptdQAdUXeIrD7fBHevpURt4RtU8_wPl1E","level":"info","message":"auth send jwt","requestID":"c549d0a5a90e50f751b117a82715aab0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c549d0a5a90e50f751b117a82715aab0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"c549d0a5a90e50f751b117a82715aab0"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:21Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":356,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":24.871119,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:21Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c549d0a5a90e50f751b117a82715aab0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620361,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2MX0.DLnsXIRuonptdQAdUXeIrD7fBHevpURt4RtU8_wPl1E"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"c549d0a5a90e50f751b117a82715aab0","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5a720694-c29b-424a-bf01-8cae56e70363","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.3082187} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c549d0a5a90e50f751b117a82715aab0","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47b51d91-e3b6-4f0c-867d-d4c2d9f9a942","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.312682} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"c549d0a5a90e50f751b117a82715aab0","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"43959311-a892-427e-99b6-27f1972b20fa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.3481402} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d750ac33-cd8d-467d-96ec-c6d70e468e8e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.34843} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"c549d0a5a90e50f751b117a82715aab0","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:21.348121025Z"}]},"request_id":"855c1e44-c889-4134-8184-b942e3cabb47","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620361.3521013} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c549d0a5a90e50f751b117a82715aab0","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"c549d0a5a90e50f751b117a82715aab0"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.086","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c549d0a5a90e50f751b117a82715aab0"} device-1 | {"level":"info","message":"POST /devices? 201 83ms","method":"POST","requestID":"c549d0a5a90e50f751b117a82715aab0","responseTime":83,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9939dd94b3705a6cca15886000443982","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9939dd94b3705a6cca15886000443982","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9af54df23f61e65bf445e032458d5946","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9af54df23f61e65bf445e032458d5946","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:59:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/50ada556-bc52-44a4-abe1-f69018abbccf/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9939dd94b3705a6cca15886000443982"} device-1 | {"level":"info","message":"OPTIONS /devices/50ada556-bc52-44a4-abe1-f69018abbccf/websocket 200 0ms","method":"OPTIONS","requestID":"9939dd94b3705a6cca15886000443982","responseTime":0,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:59:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/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":"9af54df23f61e65bf445e032458d5946"} device-1 | {"level":"info","message":"OPTIONS /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/websocket 200 0ms","method":"OPTIONS","requestID":"9af54df23f61e65bf445e032458d5946","responseTime":0,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo","level":"info","message":"auth send jwt","requestID":"957f4066d41f30dcca93ce5925b0fd05"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"957f4066d41f30dcca93ce5925b0fd05","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"957f4066d41f30dcca93ce5925b0fd05"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"85a3c54a80c174e6ecb48cfa4973a688"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo","level":"info","message":"auth send jwt","requestID":"85a3c54a80c174e6ecb48cfa4973a688"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"85a3c54a80c174e6ecb48cfa4973a688","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":357,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.904233,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"957f4066d41f30dcca93ce5925b0fd05","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620363,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"957f4066d41f30dcca93ce5925b0fd05","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":358,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.883689,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"85a3c54a80c174e6ecb48cfa4973a688","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620363,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"85a3c54a80c174e6ecb48cfa4973a688","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"85a3c54a80c174e6ecb48cfa4973a688"} gateway-1 | {"time_local":"02/Apr/2025:18:59:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/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":"85a3c54a80c174e6ecb48cfa4973a688"} device-1 | {"level":"info","message":"POST /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/websocket 200 33ms","method":"POST","requestID":"85a3c54a80c174e6ecb48cfa4973a688","responseTime":33,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"957f4066d41f30dcca93ce5925b0fd05"} gateway-1 | {"time_local":"02/Apr/2025:18:59:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/50ada556-bc52-44a4-abe1-f69018abbccf/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":"957f4066d41f30dcca93ce5925b0fd05"} device-1 | {"level":"info","message":"POST /devices/50ada556-bc52-44a4-abe1-f69018abbccf/websocket 200 45ms","method":"POST","requestID":"957f4066d41f30dcca93ce5925b0fd05","responseTime":45,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo","level":"info","message":"auth send jwt","requestID":"d7f0d124865be4cde9a6dc9cf56eb2f7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d7f0d124865be4cde9a6dc9cf56eb2f7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d7f0d124865be4cde9a6dc9cf56eb2f7"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":359,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685067,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d7f0d124865be4cde9a6dc9cf56eb2f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620363,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7f0d124865be4cde9a6dc9cf56eb2f7","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:21.259844291Z"}]},"request_id":"195859af-9eec-4ba5-8b9e-4ddd49d6925c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620363.8613198} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d7f0d124865be4cde9a6dc9cf56eb2f7","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d7f0d124865be4cde9a6dc9cf56eb2f7"} device-1 | {"level":"info","message":"GET /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49? 200 36ms","method":"GET","requestID":"d7f0d124865be4cde9a6dc9cf56eb2f7","responseTime":36,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49?"} gateway-1 | {"time_local":"02/Apr/2025:18:59:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49? 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":"d7f0d124865be4cde9a6dc9cf56eb2f7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo","level":"info","message":"auth send jwt","requestID":"13e29a5f112c9993f4bef4e7dcc3b5a4"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"13e29a5f112c9993f4bef4e7dcc3b5a4","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"13e29a5f112c9993f4bef4e7dcc3b5a4"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":360,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.837397,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"13e29a5f112c9993f4bef4e7dcc3b5a4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620363,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"13e29a5f112c9993f4bef4e7dcc3b5a4","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:21.348121025Z"}]},"request_id":"1b9b80da-c1c3-4d9c-9ba5-808c1c4afe28","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620363.9023855} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"13e29a5f112c9993f4bef4e7dcc3b5a4","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"13e29a5f112c9993f4bef4e7dcc3b5a4"} gateway-1 | {"time_local":"02/Apr/2025:18:59:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/50ada556-bc52-44a4-abe1-f69018abbccf? 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":"13e29a5f112c9993f4bef4e7dcc3b5a4"} device-1 | {"level":"info","message":"GET /devices/50ada556-bc52-44a4-abe1-f69018abbccf? 200 12ms","method":"GET","requestID":"13e29a5f112c9993f4bef4e7dcc3b5a4","responseTime":12,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo","level":"info","message":"auth send jwt","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"bfeb76544db2fe93a6c642bc041b04f9","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":361,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":20.917719,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bfeb76544db2fe93a6c642bc041b04f9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620363,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 26ms","method":"POST","requestID":"bfeb76544db2fe93a6c642bc041b04f9","responseTime":26,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Attempting to run experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Attempting to book experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Successfully booked experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97b12050-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97b14760-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":362,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.686874,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97b12050-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620363,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"97b12050-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":363,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.757078,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:23Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97b14760-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620363,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"97b14760-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:21.259844291Z"}]},"request_id":"4c6ab894-5dcf-4108-9470-e2d4b1f21c66","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620363.9964457} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"97b12050-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:21.348121025Z"}]},"request_id":"f6c5077c-21fa-402f-aa2f-28f334e413bd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620363.9972508} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"97b14760-0ff4-11f0-acd3-db29ca75a471","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97b12050-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49? 200 12ms","method":"GET","requestID":"97b12050-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97b14760-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/50ada556-bc52-44a4-abe1-f69018abbccf? 200 12ms","method":"GET","requestID":"97b14760-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Setting up experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Successfully locked booking for experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Attempting to update booking for experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Successfully updated booking for experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Successfully set up experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97bf5120-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"97bf7830-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Successfully running experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97bfc650-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":364,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.83413,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97bf5120-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620363,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97bf5120-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":365,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.60196,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97bf7830-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620363,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"97bf7830-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"229412e9-5ebf-4767-b2ae-47603dff093a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.0935888} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:21.259844291Z"}]},"request_id":"0bdd2c3b-9a06-4bb8-9ac5-2b4d802d58f5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.0946307} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":366,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.505877,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97bfc650-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","object_type":"device","rebac_allow":false,"scope_allow":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":"97bfc650-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"97bf5120-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:21.348121025Z"}]},"request_id":"4facfdd4-f871-4f08-9103-1bc65031e798","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.0962791} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"97bf7830-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97bfc650-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/signaling 200 17ms","method":"POST","requestID":"97bfc650-0ff4-11f0-acd3-db29ca75a471","responseTime":17,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97bf5120-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F83e6dfd0-fef7-49d4-b159-aa9652714168#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F83e6dfd0-fef7-49d4-b159-aa9652714168","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"90c3a19e-be68-44b5-bff8-2e05ef79d1f4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.1024275} device-1 | {"level":"info","message":"GET /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49? 200 21ms","method":"GET","requestID":"97bf5120-0ff4-11f0-acd3-db29ca75a471","responseTime":21,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b8b92558-0526-4241-adad-822bb17833e5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.1034286} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97c2ac80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"bfeb76544db2fe93a6c642bc041b04f9","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"97bf7830-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/50ada556-bc52-44a4-abe1-f69018abbccf? 200 47ms","method":"GET","requestID":"97bf7830-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf?"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c0eea6f-8d6e-4f72-88c8-3c8ce3333927","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.1330655} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":367,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.921094,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97c71950-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97c2ac80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"97c2ac80-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1287","request_time":"0.229","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"level":"info","message":"POST /experiments? 201 225ms","method":"POST","requestID":"bfeb76544db2fe93a6c642bc041b04f9","responseTime":225,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ecc4415c-c4ee-4515-9e59-cfaf8ff95048","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.138281} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97c2ac80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/50ada556-bc52-44a4-abe1-f69018abbccf/signaling 200 12ms","method":"POST","requestID":"97c2ac80-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y","level":"info","message":"auth send jwt","requestID":"a6e38b85ee06b0ba4f0014d24a2330ff"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":368,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.999166,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a6e38b85ee06b0ba4f0014d24a2330ff","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97c71950-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","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":"a6e38b85ee06b0ba4f0014d24a2330ff"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"97c71950-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":369,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.687625,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a6e38b85ee06b0ba4f0014d24a2330ff","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620364,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a6e38b85ee06b0ba4f0014d24a2330ff","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97c71950-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/signaling 200 13ms","method":"POST","requestID":"97c71950-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97c98a50-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:21.259844291Z"}]},"request_id":"ded779ba-7104-4ea2-9dc7-e8e9b16a0104","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.1504653} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a6e38b85ee06b0ba4f0014d24a2330ff","responseTime":4,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"69b11627-3725-4990-b0ab-571be49ca423","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.15341} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":370,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.520333,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97c98a50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"97c98a50-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a6e38b85ee06b0ba4f0014d24a2330ff"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a6e38b85ee06b0ba4f0014d24a2330ff"} device-1 | {"level":"info","message":"GET /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49? 200 40ms","method":"GET","requestID":"a6e38b85ee06b0ba4f0014d24a2330ff","responseTime":40,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97c98a50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/50ada556-bc52-44a4-abe1-f69018abbccf/signaling 200 35ms","method":"POST","requestID":"97c98a50-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Building connection plan","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} 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":"95e151c5-d741-446c-9b63-f5c84c0c4b84"},{"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":"105a83f3-19ba-4123-a2f3-ac73f6b056d1"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1dec3f66-0f6a-4934-a7fa-5ee2f8a4dcbc"}]},"level":"info","message":"Built pairwise service configurations","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} 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/556b1d1c-0552-4a13-ace2-8048f0e52d49"},{"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/50ada556-bc52-44a4-abe1-f69018abbccf"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y","level":"info","message":"auth send jwt","requestID":"feefd54fd8556438ae2aafe9c97e7073"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"feefd54fd8556438ae2aafe9c97e7073","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"97cf56b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"feefd54fd8556438ae2aafe9c97e7073"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":371,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.899409,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97cf56b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620363,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2M30.VKbHsbOtuyZ_Ml-9RDoRfCVuQH8lo7yokvmgMkOENSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"97cf56b0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":372,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704908,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"feefd54fd8556438ae2aafe9c97e7073","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620364,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"feefd54fd8556438ae2aafe9c97e7073","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:21.348121025Z"}]},"request_id":"a443aa69-c5b4-4412-b58e-b23740a77037","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.1974368} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"feefd54fd8556438ae2aafe9c97e7073","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"feefd54fd8556438ae2aafe9c97e7073"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/50ada556-bc52-44a4-abe1-f69018abbccf? 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":"feefd54fd8556438ae2aafe9c97e7073"} device-1 | {"level":"info","message":"GET /devices/50ada556-bc52-44a4-abe1-f69018abbccf? 200 36ms","method":"GET","requestID":"feefd54fd8556438ae2aafe9c97e7073","responseTime":36,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"cf184fd3-2b23-4342-aad2-e0feebcad3bb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.2296557} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de158c30-537b-4a5e-bbc7-ac46d077d565","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.2297587} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"97cf56b0-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"97cf56b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"97cf56b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc'","requestID":"97cf56b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc'","requestID":"97cf56b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"97cf56b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 65ms","method":"POST","requestID":"97cf56b0-0ff4-11f0-acd3-db29ca75a471","responseTime":65,"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":"97cf56b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc","device":"556b1d1c-0552-4a13-ace2-8048f0e52d49","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/29e8b250-824e-4505-b1cc-5ea1e96183cc","device":"50ada556-bc52-44a4-abe1-f69018abbccf","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/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"bfeb76544db2fe93a6c642bc041b04f9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97e4b370-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"device":"556b1d1c-0552-4a13-ace2-8048f0e52d49","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"556b1d1c-0552-4a13-ace2-8048f0e52d49","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f6f3d72-bebe-4432-af27-81c7761a73e7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.3333774} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":373,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.244982,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97e4b370-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"97e4b370-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97e4b370-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/signaling 200 11ms","method":"POST","requestID":"97e4b370-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"97e6af40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} device-1 | {"device":"50ada556-bc52-44a4-abe1-f69018abbccf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"50ada556-bc52-44a4-abe1-f69018abbccf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"55ddb86c-0b78-4f03-b97b-7643f5307856","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.3697329} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":374,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.28313,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97e6af40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","object_type":"device","rebac_allow":false,"scope_allow":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":"97e6af40-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"97e6af40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/50ada556-bc52-44a4-abe1-f69018abbccf/signaling 200 35ms","method":"POST","requestID":"97e6af40-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 5980428047751784525 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:RJx4\r\na=ice-pwd:gzhj9jTB8zfOUpzgyypuKCoh\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9C:16:87:A7:8C:CE:06:CB:20:47:73:20:66:DB:74:87:40:85:3D:60:A8:4D:D6:E9:5B:5F:9B:BC:37:C9:7E:83\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"50ada556-bc52-44a4-abe1-f69018abbccf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 5398350772153062885 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:pwUg\r\na=ice-pwd:Diu8prk62fgXDomx6Q19f4LJ\r\na=ice-options:trickle\r\na=fingerprint:sha-256 BF:0D:61:F8:90:62:C0:7A:E4:50:4E:0D:64:7E:20:67:1E:15:B3:7A:4E:CE:40:2C:B2:29:E5:36:7F:B6:7E:E6\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"556b1d1c-0552-4a13-ace2-8048f0e52d49","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3439130409 1 udp 2113937151 15a8303b-fbb1-487b-a9c0-df49f9d95a7e.local 60516 typ host generation 0 ufrag pwUg network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"556b1d1c-0552-4a13-ace2-8048f0e52d49","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/556b1d1c-0552-4a13-ace2-8048f0e52d49'"} device-1 | {"content":{"candidate":"candidate:777506057 1 udp 2113937151 219e9042-bfb7-40a6-bde6-d45e5f7c1335.local 32927 typ host generation 0 ufrag RJx4 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"50ada556-bc52-44a4-abe1-f69018abbccf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"50ada556-bc52-44a4-abe1-f69018abbccf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"4a36c683219803eafd5a0d07a35aa544","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49"},{"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/50ada556-bc52-44a4-abe1-f69018abbccf"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc"}}},"level":"info","message":"received a callback","requestID":"4a36c683219803eafd5a0d07a35aa544"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"29e8b250-824e-4505-b1cc-5ea1e96183cc","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"556b1d1c-0552-4a13-ace2-8048f0e52d49","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"556b1d1c-0552-4a13-ace2-8048f0e52d49","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"50ada556-bc52-44a4-abe1-f69018abbccf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"4a36c683219803eafd5a0d07a35aa544","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"50ada556-bc52-44a4-abe1-f69018abbccf","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"556b1d1c-0552-4a13-ace2-8048f0e52d49","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"4a36c683219803eafd5a0d07a35aa544"} device-1 | {"device":"556b1d1c-0552-4a13-ace2-8048f0e52d49","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 29ms","method":"POST","requestID":"4a36c683219803eafd5a0d07a35aa544","responseTime":29,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"peerconnection":"29e8b250-824e-4505-b1cc-5ea1e96183cc","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"29e8b250-824e-4505-b1cc-5ea1e96183cc","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/29e8b250-824e-4505-b1cc-5ea1e96183cc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"29e8b250-824e-4505-b1cc-5ea1e96183cc","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b6000e9f0e532970e9a83a992771bc88","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b6000e9f0e532970e9a83a992771bc88","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/556b1d1c-0552-4a13-ace2-8048f0e52d49"},{"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/50ada556-bc52-44a4-abe1-f69018abbccf"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc"}}},"level":"info","message":"received a callback","requestID":"b6000e9f0e532970e9a83a992771bc88"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"97fca840-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F29e8b250-824e-4505-b1cc-5ea1e96183cc","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7702beca-4caf-41e9-ab0e-b20fee9ad2a8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.488673} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":375,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.592387,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"97fca840-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc","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":"97fca840-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"97fca840-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc 200 33ms","method":"GET","requestID":"97fca840-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"b6000e9f0e532970e9a83a992771bc88","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"b6000e9f0e532970e9a83a992771bc88"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9803fb40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9156d11-0e12-4d9d-920b-a56ab9477dc3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.5611765} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":376,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.528209,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9803fb40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","object_type":"device","rebac_allow":false,"scope_allow":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":"9803fb40-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y","level":"info","message":"auth send jwt","requestID":"dd6ffa72f94030f95767e826b9bc83ad"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"dd6ffa72f94030f95767e826b9bc83ad","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/83e6dfd0-fef7-49d4-b159-aa9652714168","requestID":"dd6ffa72f94030f95767e826b9bc83ad"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9803fb40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/signaling 200 36ms","method":"POST","requestID":"9803fb40-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":377,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.002015,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9809eeb0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"dd6ffa72f94030f95767e826b9bc83ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620364,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"dd6ffa72f94030f95767e826b9bc83ad","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"899cf543-27f8-4b35-8ad5-ca1a79b4ecec","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.577017} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":378,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.701901,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/83e6dfd0-fef7-49d4-b159-aa9652714168","requestID":"dd6ffa72f94030f95767e826b9bc83ad"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9809eeb0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","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":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/83e6dfd0-fef7-49d4-b159-aa9652714168 HTTP/1.1","status": "200","body_bytes_sent":"1360","request_time":"0.018","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dd6ffa72f94030f95767e826b9bc83ad"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"9809eeb0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"GET /experiments/83e6dfd0-fef7-49d4-b159-aa9652714168 200 13ms","method":"GET","requestID":"dd6ffa72f94030f95767e826b9bc83ad","responseTime":13,"status":200,"url":"/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9809eeb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/50ada556-bc52-44a4-abe1-f69018abbccf/signaling 200 12ms","method":"POST","requestID":"9809eeb0-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y","level":"info","message":"auth send jwt","requestID":"fb657748380a20f18c9617594cb6c486"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"fb657748380a20f18c9617594cb6c486","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/83e6dfd0-fef7-49d4-b159-aa9652714168","requestID":"fb657748380a20f18c9617594cb6c486"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":379,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.685011,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"fb657748380a20f18c9617594cb6c486","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620364,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb657748380a20f18c9617594cb6c486","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Attempting to finish experiment","requestID":"fb657748380a20f18c9617594cb6c486"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"98111aa0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":380,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.654137,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"98111aa0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620364,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"98111aa0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc","device":"556b1d1c-0552-4a13-ace2-8048f0e52d49","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc","device":"50ada556-bc52-44a4-abe1-f69018abbccf","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/29e8b250-824e-4505-b1cc-5ea1e96183cc' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"29e8b250-824e-4505-b1cc-5ea1e96183cc","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F29e8b250-824e-4505-b1cc-5ea1e96183cc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F29e8b250-824e-4505-b1cc-5ea1e96183cc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"b3c93e0c-6b64-4832-a44f-1cadcd02864c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.632675} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"566487ea8e9fbc06d91b3e8cf0c49f74","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d60e6de-e071-4ea7-be0a-d54f91fef6de","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.6572013} authentication-1 | {"level":"info","message":"GET /auth 200 0ms","method":"GET","requestID":"566487ea8e9fbc06d91b3e8cf0c49f74","responseTime":0,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cc3dc9bf91528e8bcec24306d0836c31","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cc3dc9bf91528e8bcec24306d0836c31","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/556b1d1c-0552-4a13-ace2-8048f0e52d49"},{"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/50ada556-bc52-44a4-abe1-f69018abbccf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc"}}},"level":"info","message":"received a callback","requestID":"566487ea8e9fbc06d91b3e8cf0c49f74"} 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/556b1d1c-0552-4a13-ace2-8048f0e52d49"},{"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/50ada556-bc52-44a4-abe1-f69018abbccf"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc"}}},"level":"info","message":"received a callback","requestID":"cc3dc9bf91528e8bcec24306d0836c31"} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"98111aa0-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"29e8b250-824e-4505-b1cc-5ea1e96183cc","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"98111aa0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc 204 60ms","method":"DELETE","requestID":"98111aa0-0ff4-11f0-acd3-db29ca75a471","responseTime":60,"status":204,"url":"/peerconnections/29e8b250-824e-4505-b1cc-5ea1e96183cc"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"},"level":"info","message":"Successfully finished experiment","requestID":"fb657748380a20f18c9617594cb6c486"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9820ab00-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F556b1d1c-0552-4a13-ace2-8048f0e52d49","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48bbb625-5a79-4a95-aacd-1c77d9181ac8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.7244542} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":381,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.439352,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9820ab00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9820ab00-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9820ab00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/signaling 200 8ms","method":"POST","requestID":"9820ab00-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9825db20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F83e6dfd0-fef7-49d4-b159-aa9652714168': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F83e6dfd0-fef7-49d4-b159-aa9652714168","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"b8f3ebad-4df1-4a35-9380-40a3fff4b7f1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.757975} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1804d158-5fdf-44b7-89b4-3882f1af8b92","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.758343} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"fb657748380a20f18c9617594cb6c486","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F50ada556-bc52-44a4-abe1-f69018abbccf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f72ddc34-9723-4313-905f-a9b71d839c72","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.7606933} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":382,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.986202,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9825db20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/50ada556-bc52-44a4-abe1-f69018abbccf","object_type":"device","rebac_allow":false,"scope_allow":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":"9825db20-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9825db20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/50ada556-bc52-44a4-abe1-f69018abbccf/signaling 200 11ms","method":"POST","requestID":"9825db20-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/50ada556-bc52-44a4-abe1-f69018abbccf/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/83e6dfd0-fef7-49d4-b159-aa9652714168","requestID":"fb657748380a20f18c9617594cb6c486"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/83e6dfd0-fef7-49d4-b159-aa9652714168 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.275","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb657748380a20f18c9617594cb6c486"} experiment-1 | {"level":"info","message":"DELETE /experiments/83e6dfd0-fef7-49d4-b159-aa9652714168 204 248ms","method":"DELETE","requestID":"fb657748380a20f18c9617594cb6c486","responseTime":248,"status":204,"url":"/experiments/83e6dfd0-fef7-49d4-b159-aa9652714168"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 200ms","method":"POST","requestID":"566487ea8e9fbc06d91b3e8cf0c49f74","responseTime":200,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.227","http_referrer":"","http_user_agent":"node-fetch","requestID":"566487ea8e9fbc06d91b3e8cf0c49f74"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 200ms","method":"POST","requestID":"cc3dc9bf91528e8bcec24306d0836c31","responseTime":200,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.228","http_referrer":"","http_user_agent":"node-fetch","requestID":"cc3dc9bf91528e8bcec24306d0836c31"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y","level":"info","message":"auth send jwt","requestID":"675aece6e701f1ced58cbc1f42b500e2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"675aece6e701f1ced58cbc1f42b500e2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"675aece6e701f1ced58cbc1f42b500e2"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2579","request_time":"1.068","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dc9239c89a3f661a9efc521ef1bc047e"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2578","request_time":"1.058","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dbeac2ad20d31e5d92721262643d0abb"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":383,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.814262,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"675aece6e701f1ced58cbc1f42b500e2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620364,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"675aece6e701f1ced58cbc1f42b500e2","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/50ada556-bc52-44a4-abe1-f69018abbccf' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e04c153d-caa6-4357-a916-420446765acd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.8767064} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"675aece6e701f1ced58cbc1f42b500e2","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7f71e740-184b-494d-836a-6b124d39e964","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.906329} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"675aece6e701f1ced58cbc1f42b500e2","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/556b1d1c-0552-4a13-ace2-8048f0e52d49' closed"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"7b367a3e-a519-4217-9243-1d38bfbe0c63","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.9188864} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"70bb1c0c-8fae-4d4f-bf9a-41f1b9fa622a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.9190192} authorization-1 | {"level":"info","message":"POST /relations/update 200 15ms","method":"POST","requestID":"675aece6e701f1ced58cbc1f42b500e2","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:24.918858543Z"}]},"request_id":"55d2c5f7-6a9f-49f8-a8c2-e0e033e026b2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.9470882} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"675aece6e701f1ced58cbc1f42b500e2","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"675aece6e701f1ced58cbc1f42b500e2"} gateway-1 | {"time_local":"02/Apr/2025:18:59:24 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"675aece6e701f1ced58cbc1f42b500e2"} device-1 | {"level":"info","message":"POST /devices? 201 85ms","method":"POST","requestID":"675aece6e701f1ced58cbc1f42b500e2","responseTime":85,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y","level":"info","message":"auth send jwt","requestID":"50c9f3468937ab51482ec4f59eb2f99b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"50c9f3468937ab51482ec4f59eb2f99b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"50c9f3468937ab51482ec4f59eb2f99b"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":384,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.670722,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:24Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"50c9f3468937ab51482ec4f59eb2f99b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620364,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NH0.oYyiyOLrwoLp0chlGUy-SnOWY3HfT1HEEPdVZ9i_G4Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"50c9f3468937ab51482ec4f59eb2f99b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"30a21a18-be69-4ba7-bcdd-e82c0bf6c624","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.9670603} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"50c9f3468937ab51482ec4f59eb2f99b","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8af9c3c8-5881-420b-b8c3-5eb59790c8bf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620364.9951568} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"50c9f3468937ab51482ec4f59eb2f99b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"d90568db-3b20-4fa9-8d79-7188716e4dc8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620365.0036833} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a26e3c4a-9f62-4918-851d-b0a1d5d86ecd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620365.003794} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"50c9f3468937ab51482ec4f59eb2f99b","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:25.003657472Z"}]},"request_id":"f3cf0f3e-3e56-4a59-abd5-ee4f64ee26b1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620365.0079687} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"50c9f3468937ab51482ec4f59eb2f99b","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"50c9f3468937ab51482ec4f59eb2f99b"} device-1 | {"level":"info","message":"POST /devices? 201 56ms","method":"POST","requestID":"50c9f3468937ab51482ec4f59eb2f99b","responseTime":56,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:59:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.059","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"50c9f3468937ab51482ec4f59eb2f99b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NX0.uBmOsqV146Dh3WJsXWV_g48evBfTl1q2B0xoRMXsMGg","level":"info","message":"auth send jwt","requestID":"873eee81516e5b32ef80baaa572b564d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"873eee81516e5b32ef80baaa572b564d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"873eee81516e5b32ef80baaa572b564d"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:25Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":385,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71984,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"873eee81516e5b32ef80baaa572b564d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620365,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2NX0.uBmOsqV146Dh3WJsXWV_g48evBfTl1q2B0xoRMXsMGg"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"873eee81516e5b32ef80baaa572b564d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:25.003657472Z"}]},"request_id":"74acd85a-96d6-45d3-8b98-9267c893869a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620365.9754348} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"873eee81516e5b32ef80baaa572b564d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0a3ba0df-5b18-4ea4-810c-d34197e873f5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620366.0042276} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"873eee81516e5b32ef80baaa572b564d","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:25.003657472Z"}]},"request_id":"1168b1ed-1a83-4ff3-8d7a-5b4f08109aed","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620366.0161917} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"873eee81516e5b32ef80baaa572b564d","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"873eee81516e5b32ef80baaa572b564d"} gateway-1 | {"time_local":"02/Apr/2025:18:59:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"873eee81516e5b32ef80baaa572b564d"} device-1 | {"level":"info","message":"PATCH /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a 200 52ms","method":"PATCH","requestID":"873eee81516e5b32ef80baaa572b564d","responseTime":52,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2Nn0.8JG4c_m1zlXCWU27DXWuEfe59yUgl7eUjZsfCG6EyZw","level":"info","message":"auth send jwt","requestID":"6d74c6be146947b5714d5d10f50b0cac"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6d74c6be146947b5714d5d10f50b0cac","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6d74c6be146947b5714d5d10f50b0cac"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:26Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":386,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.670046,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6d74c6be146947b5714d5d10f50b0cac","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620366,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2Nn0.8JG4c_m1zlXCWU27DXWuEfe59yUgl7eUjZsfCG6EyZw"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"6d74c6be146947b5714d5d10f50b0cac","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6d74c6be146947b5714d5d10f50b0cac"} device-1 | {"level":"info","message":"POST /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/websocket 200 37ms","method":"POST","requestID":"6d74c6be146947b5714d5d10f50b0cac","responseTime":37,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:59:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/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.16","requestID":"6d74c6be146947b5714d5d10f50b0cac"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7ed4563069698d266ce720af1ad8cd21","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"7ed4563069698d266ce720af1ad8cd21","responseTime":0,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:59:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7ed4563069698d266ce720af1ad8cd21"} device-1 | {"level":"info","message":"OPTIONS /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/websocket 200 1ms","method":"OPTIONS","requestID":"7ed4563069698d266ce720af1ad8cd21","responseTime":1,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU","level":"info","message":"auth send jwt","requestID":"6c206c52e708f3305e132a9d1ea20cfb"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6c206c52e708f3305e132a9d1ea20cfb","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6c206c52e708f3305e132a9d1ea20cfb"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":387,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.696732,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6c206c52e708f3305e132a9d1ea20cfb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"6c206c52e708f3305e132a9d1ea20cfb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6c206c52e708f3305e132a9d1ea20cfb"} device-1 | {"level":"info","message":"POST /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/websocket 200 45ms","method":"POST","requestID":"6c206c52e708f3305e132a9d1ea20cfb","responseTime":45,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/websocket"} gateway-1 | {"time_local":"02/Apr/2025:18:59:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/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":"6c206c52e708f3305e132a9d1ea20cfb"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU","level":"info","message":"auth send jwt","requestID":"6126ca797c98247a5aa57bcf4fa6fe5d"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6126ca797c98247a5aa57bcf4fa6fe5d","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6126ca797c98247a5aa57bcf4fa6fe5d"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":388,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.733301,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6126ca797c98247a5aa57bcf4fa6fe5d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"6126ca797c98247a5aa57bcf4fa6fe5d","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:24.918858543Z"}]},"request_id":"2e0c55af-4bbd-42cf-9460-6ed778d9810c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.4523888} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"6126ca797c98247a5aa57bcf4fa6fe5d","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6126ca797c98247a5aa57bcf4fa6fe5d"} device-1 | {"level":"info","message":"GET /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545? 200 9ms","method":"GET","requestID":"6126ca797c98247a5aa57bcf4fa6fe5d","responseTime":9,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545?"} gateway-1 | {"time_local":"02/Apr/2025:18:59:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545? 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":"6126ca797c98247a5aa57bcf4fa6fe5d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU","level":"info","message":"auth send jwt","requestID":"f193c668a5c73007f068b41c8e1da704"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f193c668a5c73007f068b41c8e1da704","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f193c668a5c73007f068b41c8e1da704"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":389,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.52412,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f193c668a5c73007f068b41c8e1da704","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f193c668a5c73007f068b41c8e1da704","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:25.003657472Z"}]},"request_id":"0a2bd024-749f-424b-9627-0b59f5dc4c23","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.491108} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f193c668a5c73007f068b41c8e1da704","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f193c668a5c73007f068b41c8e1da704"} gateway-1 | {"time_local":"02/Apr/2025:18:59:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a? 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":"f193c668a5c73007f068b41c8e1da704"} device-1 | {"level":"info","message":"GET /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a? 200 36ms","method":"GET","requestID":"f193c668a5c73007f068b41c8e1da704","responseTime":36,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU","level":"info","message":"auth send jwt","requestID":"7a75434fd5c87f19bafa0c8939acab96"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7a75434fd5c87f19bafa0c8939acab96","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"7a75434fd5c87f19bafa0c8939acab96"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":390,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.943711,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7a75434fd5c87f19bafa0c8939acab96","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7a75434fd5c87f19bafa0c8939acab96","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Attempting to run experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Attempting to book experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Successfully booked experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"99d16840-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"99d18f50-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":391,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.96185,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"99d16840-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"99d16840-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":392,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.739021,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"99d18f50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"99d18f50-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:24.918858543Z"}]},"request_id":"c14e8277-f400-44e3-9c9b-88608d125021","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.5877714} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"99d16840-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:25.003657472Z"}]},"request_id":"8909456a-ac9e-490f-acac-078dd5de0a42","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.5892644} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"99d18f50-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"99d16840-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545? 200 38ms","method":"GET","requestID":"99d16840-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"99d18f50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a? 200 38ms","method":"GET","requestID":"99d18f50-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Setting up experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Successfully locked booking for experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Attempting to update booking for experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Successfully updated booking for experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Successfully set up experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"99e4c930-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"99e51750-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Successfully running experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"99e56570-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":393,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.981854,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"99e4c930-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"99e4c930-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":394,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.720296,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"99e51750-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"99e51750-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee98fbc2-405a-456a-b237-aa177fe17761","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.6927004} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":395,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.622663,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"99e56570-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"99e56570-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"99e56570-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/signaling 200 11ms","method":"POST","requestID":"99e56570-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:24.918858543Z"}]},"request_id":"3d1719ed-6edb-4120-976d-b889fb135dd0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.6974094} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"99e4c930-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:25.003657472Z"}]},"request_id":"8487f1bb-4601-4fbc-aeaa-b2d4b6dd66ed","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.6990786} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"99e51750-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"99e7af60-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa6e24df1-0c23-4d95-95c3-87b49dcf60ec#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa6e24df1-0c23-4d95-95c3-87b49dcf60ec","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"97020c92-f16c-4c37-8d88-59ef50ae1cc4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.7033863} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"735b10ac-5eb9-4f2d-bbb8-d02cde576c20","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.7035444} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"7a75434fd5c87f19bafa0c8939acab96","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"99e4c930-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545? 200 49ms","method":"GET","requestID":"99e4c930-0ff4-11f0-acd3-db29ca75a471","responseTime":49,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7154dae0-9673-4f54-8adb-fd0ef0e1fa9b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.7320776} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"99e51750-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a? 200 48ms","method":"GET","requestID":"99e51750-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a?"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":396,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.009819,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"99e7af60-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"99e7af60-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"99ecdf80-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"7a75434fd5c87f19bafa0c8939acab96"} gateway-1 | {"time_local":"02/Apr/2025:18:59:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a75434fd5c87f19bafa0c8939acab96"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"99e7af60-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} device-1 | {"level":"info","message":"POST /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/signaling 200 37ms","method":"POST","requestID":"99e7af60-0ff4-11f0-acd3-db29ca75a471","responseTime":37,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 238ms","method":"POST","requestID":"7a75434fd5c87f19bafa0c8939acab96","responseTime":238,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93556199-cc0f-449f-a5aa-e10b78abdd7d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.7419467} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU","level":"info","message":"auth send jwt","requestID":"643e526d23d3da8814211b30803f98e8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"643e526d23d3da8814211b30803f98e8","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":397,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.838622,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"99ecdf80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","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":"643e526d23d3da8814211b30803f98e8"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"99ecdf80-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":398,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.717186,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"643e526d23d3da8814211b30803f98e8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"643e526d23d3da8814211b30803f98e8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"99ecdf80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/signaling 200 11ms","method":"POST","requestID":"99ecdf80-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"99eedb50-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:24.918858543Z"}]},"request_id":"cd983da5-db1d-4a7f-967c-a5168e5bf907","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.7507055} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"643e526d23d3da8814211b30803f98e8","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"173383fe-5433-482a-a615-2d6834fd5f93","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.7535064} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":399,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.70073,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"643e526d23d3da8814211b30803f98e8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"99eedb50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","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":"02/Apr/2025:18:59:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545? 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":"643e526d23d3da8814211b30803f98e8"} device-1 | {"level":"info","message":"GET /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545? 200 12ms","method":"GET","requestID":"643e526d23d3da8814211b30803f98e8","responseTime":12,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"99eedb50-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"99eedb50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/signaling 200 33ms","method":"POST","requestID":"99eedb50-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU","level":"info","message":"auth send jwt","requestID":"a3776270b046cf98b274a9d96efe55f1"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Building connection plan","requestID":"7a75434fd5c87f19bafa0c8939acab96"} 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":"387a2aa0-d279-46ee-82f1-5cb7018a0277"},{"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":"9b3d2afd-3efc-4cc2-a76f-921ff82c143b"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"6f761db0-f1f1-4ee1-bc64-c6415fdbf2dd"}]},"level":"info","message":"Built pairwise service configurations","requestID":"7a75434fd5c87f19bafa0c8939acab96"} 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/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a"},{"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/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"7a75434fd5c87f19bafa0c8939acab96"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"a3776270b046cf98b274a9d96efe55f1","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a3776270b046cf98b274a9d96efe55f1"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Received request.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"client_addr":"127.0.0.1:43664","level":"info","msg":"Sent response.","req_id":400,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.647189,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a3776270b046cf98b274a9d96efe55f1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"a3776270b046cf98b274a9d96efe55f1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":401,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.615485,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620367,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM2N30.fjt5jt-8MHwl1faO3nOjimAgfr2Mesa3y8IYhOQPkKU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:25.003657472Z"}]},"request_id":"43c7a23f-bac9-458f-8af3-5d35fc841f0f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.7914152} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a3776270b046cf98b274a9d96efe55f1","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a3776270b046cf98b274a9d96efe55f1"} gateway-1 | {"time_local":"02/Apr/2025:18:59:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a? 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":"a3776270b046cf98b274a9d96efe55f1"} device-1 | {"level":"info","message":"GET /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a? 200 13ms","method":"GET","requestID":"a3776270b046cf98b274a9d96efe55f1","responseTime":13,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"7bbfbc03-fabe-4aa0-ad73-96386f845010","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.798574} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"bbb0cbba-ce6a-4797-be80-9375cac2145f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.7987125} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559'","requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559'","requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 60ms","method":"POST","requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471","responseTime":60,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"99f45990-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559","device":"2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":true} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"7a75434fd5c87f19bafa0c8939acab96"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9a094120-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"35dca047-b2dc-4544-9da1-9ea1aa3928eb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.9268918} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":402,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.194652,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9a094120-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9a094120-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9a094120-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/signaling 200 10ms","method":"POST","requestID":"9a094120-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/signaling"} device-1 | {"device":"2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9a0b3cf0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"content":{"sdp":"v=0\r\no=- 127788562411000809 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:Fe4H\r\na=ice-pwd:c+8wQaGoDomvtYjXTPUFHylP\r\na=ice-options:trickle\r\na=fingerprint:sha-256 0F:E8:5C:58:80:08:68:5A:EF:17:5D:F8:81:43:B4:0E:D9:76:CA:83:65:7D:04:59:A5:ED:EC:98:0D:6E:70:4E\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:27Z"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545'"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c4996c5b-d831-41d1-9245-a2163619a2ee","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620367.9411855} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":403,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.122731,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9a0b3cf0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9a0b3cf0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9a0b3cf0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/signaling 200 10ms","method":"POST","requestID":"9a0b3cf0-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/signaling"} device-1 | {"device":"2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"88c19b72-3010-4f55-b07f-685f7228d559","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/88c19b72-3010-4f55-b07f-685f7228d559' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"88c19b72-3010-4f55-b07f-685f7228d559","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"52f81d2ff27fabfe4a3166bf0a839407","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"52f81d2ff27fabfe4a3166bf0a839407","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a"},{"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/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559"}}},"level":"info","message":"received a callback","requestID":"52f81d2ff27fabfe4a3166bf0a839407"} device-1 | {"content":{"candidate":"candidate:1482338985 1 udp 2113937151 17b31a25-7250-4f6e-b306-3c0dfc61abea.local 38333 typ host generation 0 ufrag Fe4H network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"52f81d2ff27fabfe4a3166bf0a839407","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:29 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.007","http_referrer":"","http_user_agent":"node-fetch","requestID":"52f81d2ff27fabfe4a3166bf0a839407"} device-1 | {"device":"b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"88c19b72-3010-4f55-b07f-685f7228d559","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"88c19b72-3010-4f55-b07f-685f7228d559","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/88c19b72-3010-4f55-b07f-685f7228d559' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"88c19b72-3010-4f55-b07f-685f7228d559","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"921d5ca1993fc6a857756e7129420a8b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"921d5ca1993fc6a857756e7129420a8b","responseTime":0,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a"},{"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/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559"}}},"level":"info","message":"received a callback","requestID":"921d5ca1993fc6a857756e7129420a8b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9b45dfd0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F88c19b72-3010-4f55-b07f-685f7228d559","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b48079c-9a7d-4637-a699-8d6d63a4da15","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.0018752} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":404,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.382935,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9b45dfd0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559","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":"9b45dfd0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9b45dfd0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/88c19b72-3010-4f55-b07f-685f7228d559 200 9ms","method":"GET","requestID":"9b45dfd0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 54ms","method":"POST","requestID":"921d5ca1993fc6a857756e7129420a8b","responseTime":54,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.057","http_referrer":"","http_user_agent":"node-fetch","requestID":"921d5ca1993fc6a857756e7129420a8b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b4da800-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de53b727-b42c-4b34-91da-b6b355f4b66c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.052831} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":405,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.486015,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9b4da800-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9b4da800-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MH0.e2fgNr8lAGbA_Iws2J8MAbb83_UsGJod6lSiGL2yQWo","level":"info","message":"auth send jwt","requestID":"82f6d99e99c75fa5bea9bd5d0367817f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"82f6d99e99c75fa5bea9bd5d0367817f","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec","requestID":"82f6d99e99c75fa5bea9bd5d0367817f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b4da800-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/signaling 200 34ms","method":"POST","requestID":"9b4da800-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b532640-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":406,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.921028,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"82f6d99e99c75fa5bea9bd5d0367817f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620370,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MH0.e2fgNr8lAGbA_Iws2J8MAbb83_UsGJod6lSiGL2yQWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"82f6d99e99c75fa5bea9bd5d0367817f","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"de0e7349-d1b9-4b5c-9489-0c6e7a125a7b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.0895636} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":407,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.421821,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9b532640-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","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":"Successfully handled GET request on endpoint /experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec","requestID":"82f6d99e99c75fa5bea9bd5d0367817f"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9b532640-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:18:59:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"82f6d99e99c75fa5bea9bd5d0367817f"} experiment-1 | {"level":"info","message":"GET /experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec 200 36ms","method":"GET","requestID":"82f6d99e99c75fa5bea9bd5d0367817f","responseTime":36,"status":200,"url":"/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b532640-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/signaling 200 11ms","method":"POST","requestID":"9b532640-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MH0.e2fgNr8lAGbA_Iws2J8MAbb83_UsGJod6lSiGL2yQWo","level":"info","message":"auth send jwt","requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec","requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":408,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.378422,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620370,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MH0.e2fgNr8lAGbA_Iws2J8MAbb83_UsGJod6lSiGL2yQWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Attempting to finish experiment","requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9b5a2b20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":409,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.776337,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9b5a2b20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620370,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MH0.e2fgNr8lAGbA_Iws2J8MAbb83_UsGJod6lSiGL2yQWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9b5a2b20-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559","device":"2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","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/88c19b72-3010-4f55-b07f-685f7228d559' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"88c19b72-3010-4f55-b07f-685f7228d559","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9dde8e0e226faf4f09905d1c22aaa605","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9dde8e0e226faf4f09905d1c22aaa605","responseTime":4,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"65c73c391eb566ce14274cdf4514d307","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a"},{"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/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559"}}},"level":"info","message":"received a callback","requestID":"9dde8e0e226faf4f09905d1c22aaa605"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"65c73c391eb566ce14274cdf4514d307","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/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a"},{"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/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559"}}},"level":"info","message":"received a callback","requestID":"65c73c391eb566ce14274cdf4514d307"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F88c19b72-3010-4f55-b07f-685f7228d559': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F88c19b72-3010-4f55-b07f-685f7228d559","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"d497077f-eb0a-4434-a53b-4411152e2d21","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.1532586} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"768b37d6-9a1f-42e4-8bed-e448b8eac17a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.153815} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"9b5a2b20-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"88c19b72-3010-4f55-b07f-685f7228d559","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9b5a2b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/88c19b72-3010-4f55-b07f-685f7228d559 204 68ms","method":"DELETE","requestID":"9b5a2b20-0ff4-11f0-acd3-db29ca75a471","responseTime":68,"status":204,"url":"/peerconnections/88c19b72-3010-4f55-b07f-685f7228d559"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"},"level":"info","message":"Successfully finished experiment","requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b6a30b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8b6e57c2-1cbb-4061-b55e-5f90215a7cb2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.2403052} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":410,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.658152,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9b6a30b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9b6a30b0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b6a30b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/signaling 200 10ms","method":"POST","requestID":"9b6a30b0-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9b6c0570-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa6e24df1-0c23-4d95-95c3-87b49dcf60ec': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fa6e24df1-0c23-4d95-95c3-87b49dcf60ec","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"6bfcf4ac-cd11-46a9-adff-c2ef07ee8835","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.2491586} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f8d3972e-10f9-4aa8-ba09-e2ffd042effa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.2495875} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0278d1c7-69c2-412a-b08f-b0e7e7942302","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.2518313} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":411,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.775504,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9b6c0570-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545","object_type":"device","rebac_allow":false,"scope_allow":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":"9b6c0570-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9b6c0570-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/signaling 200 33ms","method":"POST","requestID":"9b6c0570-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec","requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6"} gateway-1 | {"time_local":"02/Apr/2025:18:59:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.250","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6"} experiment-1 | {"level":"info","message":"DELETE /experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec 204 247ms","method":"DELETE","requestID":"464b1fb9e6b8fda98dfc1eeeec1be3e6","responseTime":247,"status":204,"url":"/experiments/a6e24df1-0c23-4d95-95c3-87b49dcf60ec"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 194ms","method":"POST","requestID":"9dde8e0e226faf4f09905d1c22aaa605","responseTime":194,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2577","request_time":"4.312","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"52157d4c12d767bdff462b0c2cd1fd35"} gateway-1 | {"time_local":"02/Apr/2025:18:59:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2784","request_time":"2.966","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"df44febb6af92e0ae54a981243453f52"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MH0.e2fgNr8lAGbA_Iws2J8MAbb83_UsGJod6lSiGL2yQWo","level":"info","message":"auth send jwt","requestID":"9964a12a8a0269e4a4dc03a4baed5f33"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9964a12a8a0269e4a4dc03a4baed5f33","responseTime":3,"status":200,"url":"/auth"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2f4adbf1-3f6a-4cb2-9125-9ed1af5cd545' closed"} gateway-1 | {"time_local":"02/Apr/2025:18:59:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.234","http_referrer":"","http_user_agent":"node-fetch","requestID":"9dde8e0e226faf4f09905d1c22aaa605"} device-1 | {"level":"info","message":"postDevices called","requestID":"9964a12a8a0269e4a4dc03a4baed5f33"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 228ms","method":"POST","requestID":"65c73c391eb566ce14274cdf4514d307","responseTime":228,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.231","http_referrer":"","http_user_agent":"node-fetch","requestID":"65c73c391eb566ce14274cdf4514d307"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":412,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.819055,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9964a12a8a0269e4a4dc03a4baed5f33","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620370,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MH0.e2fgNr8lAGbA_Iws2J8MAbb83_UsGJod6lSiGL2yQWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9964a12a8a0269e4a4dc03a4baed5f33","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b5b54180-43dc-4c7f-8fc8-4d74b9fa7f7a' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"57a76866-7805-4184-b1f9-725436fe3183","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.424543} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9964a12a8a0269e4a4dc03a4baed5f33","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b376c584-c276-42f2-b672-af747801cf3e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.4291325} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"9964a12a8a0269e4a4dc03a4baed5f33","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"4830de36-e0f3-415e-8d20-028864f8e5ca","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.4394665} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e8fb560-b3b1-4fa1-a184-1d455b69b079","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.4396434} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"9964a12a8a0269e4a4dc03a4baed5f33","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.439438383Z"}]},"request_id":"c3ddc892-9dc1-44fb-8230-e85e78d5db12","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.4680989} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9964a12a8a0269e4a4dc03a4baed5f33","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"9964a12a8a0269e4a4dc03a4baed5f33"} gateway-1 | {"time_local":"02/Apr/2025:18:59:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.096","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9964a12a8a0269e4a4dc03a4baed5f33"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"9964a12a8a0269e4a4dc03a4baed5f33","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MH0.e2fgNr8lAGbA_Iws2J8MAbb83_UsGJod6lSiGL2yQWo","level":"info","message":"auth send jwt","requestID":"655721abea65309508e215bec450e84b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"655721abea65309508e215bec450e84b","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"655721abea65309508e215bec450e84b"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":413,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.883428,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:30Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"655721abea65309508e215bec450e84b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620370,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MH0.e2fgNr8lAGbA_Iws2J8MAbb83_UsGJod6lSiGL2yQWo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"655721abea65309508e215bec450e84b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"17a38492-3625-4574-8c69-59de03f8f5bc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.5181732} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"655721abea65309508e215bec450e84b","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"565cc29f-0b27-4860-90f2-3e780bc96e31","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.523189} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"655721abea65309508e215bec450e84b","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"9381cf83-7002-45f4-8448-163aa1dfd604","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.5333736} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"18d5bbb1-70d3-41a4-861a-56bb7f508cd2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.533537} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"655721abea65309508e215bec450e84b","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.533348663Z"}]},"request_id":"a769bf64-1aad-42ac-8afb-ff9a060ec0bd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620370.562259} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"655721abea65309508e215bec450e84b","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"655721abea65309508e215bec450e84b"} gateway-1 | {"time_local":"02/Apr/2025:18:59:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"655721abea65309508e215bec450e84b"} device-1 | {"level":"info","message":"POST /devices? 201 89ms","method":"POST","requestID":"655721abea65309508e215bec450e84b","responseTime":89,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MX0.ewiC9CkNNoxRbz85_mHmHrwzfSEIWu2eB-2zcBq9cF4","level":"info","message":"auth send jwt","requestID":"f9e368b91266564407abbffdd18874a6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f9e368b91266564407abbffdd18874a6","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f9e368b91266564407abbffdd18874a6"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":414,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.683166,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f9e368b91266564407abbffdd18874a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620371,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MX0.ewiC9CkNNoxRbz85_mHmHrwzfSEIWu2eB-2zcBq9cF4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f9e368b91266564407abbffdd18874a6","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.533348663Z"}]},"request_id":"3aacf64d-c50e-4ac6-a564-24181b48bdf9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620371.685456} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f9e368b91266564407abbffdd18874a6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b068352-3a3d-47b6-b7b3-804108d24ee9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620371.714976} authorization-1 | {"level":"info","message":"POST /relations/update 200 28ms","method":"POST","requestID":"f9e368b91266564407abbffdd18874a6","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.533348663Z"}]},"request_id":"cd1da7b6-95a0-475e-bf99-4baad8af2c92","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620371.7742548} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f9e368b91266564407abbffdd18874a6","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f9e368b91266564407abbffdd18874a6"} gateway-1 | {"time_local":"02/Apr/2025:18:59:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.103","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"f9e368b91266564407abbffdd18874a6"} device-1 | {"level":"info","message":"PATCH /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f 200 100ms","method":"PATCH","requestID":"f9e368b91266564407abbffdd18874a6","responseTime":100,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MX0.ewiC9CkNNoxRbz85_mHmHrwzfSEIWu2eB-2zcBq9cF4","level":"info","message":"auth send jwt","requestID":"b1a80a9836cf75a70a719ca692c12da0"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b1a80a9836cf75a70a719ca692c12da0","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"b1a80a9836cf75a70a719ca692c12da0"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:31Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":415,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.704672,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:31Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b1a80a9836cf75a70a719ca692c12da0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620371,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3MX0.ewiC9CkNNoxRbz85_mHmHrwzfSEIWu2eB-2zcBq9cF4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b1a80a9836cf75a70a719ca692c12da0","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"b1a80a9836cf75a70a719ca692c12da0"} gateway-1 | {"time_local":"02/Apr/2025:18:59:31 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/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.16","requestID":"b1a80a9836cf75a70a719ca692c12da0"} device-1 | {"level":"info","message":"POST /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/websocket 200 38ms","method":"POST","requestID":"b1a80a9836cf75a70a719ca692c12da0","responseTime":38,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"620a2bfc3d4a607d323de2cf09155e78","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"620a2bfc3d4a607d323de2cf09155e78","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:59:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/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":"620a2bfc3d4a607d323de2cf09155e78"} device-1 | {"level":"info","message":"OPTIONS /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/websocket 200 1ms","method":"OPTIONS","requestID":"620a2bfc3d4a607d323de2cf09155e78","responseTime":1,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3Mn0.U3nwyBmDoUL2wTlTn6BLP7xxhb1SdvNPXPsprUo7IdM","level":"info","message":"auth send jwt","requestID":"e53d4dbc82441a4eb8ed2ca11f9363b5"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e53d4dbc82441a4eb8ed2ca11f9363b5","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e53d4dbc82441a4eb8ed2ca11f9363b5"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:32Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":416,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.985341,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:32Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e53d4dbc82441a4eb8ed2ca11f9363b5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620372,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3Mn0.U3nwyBmDoUL2wTlTn6BLP7xxhb1SdvNPXPsprUo7IdM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e53d4dbc82441a4eb8ed2ca11f9363b5","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e53d4dbc82441a4eb8ed2ca11f9363b5"} gateway-1 | {"time_local":"02/Apr/2025:18:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.095","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"e53d4dbc82441a4eb8ed2ca11f9363b5"} device-1 | {"level":"info","message":"POST /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/websocket 200 91ms","method":"POST","requestID":"e53d4dbc82441a4eb8ed2ca11f9363b5","responseTime":91,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70","level":"info","message":"auth send jwt","requestID":"f7796c91f9da8ae9793d12aab47165c9"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f7796c91f9da8ae9793d12aab47165c9","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f7796c91f9da8ae9793d12aab47165c9"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":417,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764877,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f7796c91f9da8ae9793d12aab47165c9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620373,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f7796c91f9da8ae9793d12aab47165c9","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.439438383Z"}]},"request_id":"ca457f02-19f1-4239-a19a-49ed374199be","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.076941} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f7796c91f9da8ae9793d12aab47165c9","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f7796c91f9da8ae9793d12aab47165c9"} gateway-1 | {"time_local":"02/Apr/2025:18:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260? 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":"f7796c91f9da8ae9793d12aab47165c9"} device-1 | {"level":"info","message":"GET /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260? 200 11ms","method":"GET","requestID":"f7796c91f9da8ae9793d12aab47165c9","responseTime":11,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70","level":"info","message":"auth send jwt","requestID":"f5d82db33932d47760945944e1a45cfa"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f5d82db33932d47760945944e1a45cfa","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f5d82db33932d47760945944e1a45cfa"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":418,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.680447,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f5d82db33932d47760945944e1a45cfa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620373,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f5d82db33932d47760945944e1a45cfa","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.533348663Z"}]},"request_id":"1e418edc-7555-4842-8309-bf522e6c0b81","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.1156514} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f5d82db33932d47760945944e1a45cfa","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f5d82db33932d47760945944e1a45cfa"} gateway-1 | {"time_local":"02/Apr/2025:18:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f? 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":"f5d82db33932d47760945944e1a45cfa"} device-1 | {"level":"info","message":"GET /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f? 200 9ms","method":"GET","requestID":"f5d82db33932d47760945944e1a45cfa","responseTime":9,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70","level":"info","message":"auth send jwt","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":419,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.702797,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"fb248e2bb487b6b8cae1dda2fd6261fd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620373,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Attempting to run experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Attempting to book experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Successfully booked experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d30bfe0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d30e6f0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":420,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.703359,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d30bfe0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620373,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9d30bfe0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Received request.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Sent response.","req_id":421,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.125988,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d30e6f0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620373,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9d30e6f0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.439438383Z"}]},"request_id":"67e74317-e89c-469b-ad37-3ac5b728c8b4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.222323} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9d30bfe0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d30bfe0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.533348663Z"}]},"request_id":"750cc0a7-8f77-4db3-8e13-b2d9a6f458f0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.2493482} authorization-1 | {"level":"info","message":"POST /relations/query 200 26ms","method":"POST","requestID":"9d30e6f0-0ff4-11f0-acd3-db29ca75a471","responseTime":26,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260? 200 36ms","method":"GET","requestID":"9d30bfe0-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d30e6f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f? 200 37ms","method":"GET","requestID":"9d30e6f0-0ff4-11f0-acd3-db29ca75a471","responseTime":37,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Setting up experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Successfully locked booking for experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Attempting to update booking for experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Successfully updated booking for experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Successfully set up experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d455950-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"9d458060-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Successfully running experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d45ce80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Received request.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Sent response.","req_id":422,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.165577,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":423,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877709,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d455950-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620373,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9d455950-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Received request.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d458060-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620373,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9d458060-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e011cf1-da83-4905-be9b-2a96572e4d76","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.3592432} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Sent response.","req_id":424,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.667172,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d45ce80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","object_type":"device","rebac_allow":false,"scope_allow":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":"9d45ce80-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.439438383Z"}]},"request_id":"4079b342-e9f9-4fc0-9166-3df956f63342","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.3609846} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.533348663Z"}]},"request_id":"f0720ec8-e211-4e4d-ba30-3399072eec23","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.3622458} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"9d455950-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"9d458060-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d455950-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260? 200 44ms","method":"GET","requestID":"9d455950-0ff4-11f0-acd3-db29ca75a471","responseTime":44,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78c06976-6f45-4ced-b5a4-fc5e0720ca14#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78c06976-6f45-4ced-b5a4-fc5e0720ca14","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"908e05c4-c736-449d-9a32-881b2a82609c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.367218} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5106793b-7013-4b7c-8860-e1e9479e326a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.367529} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d45ce80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/signaling 200 42ms","method":"POST","requestID":"9d45ce80-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd","responseTime":41,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"9d458060-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f? 200 46ms","method":"GET","requestID":"9d458060-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d4c8540-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Received request.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2bc9ce53-8485-49a1-979e-f83d4012452e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.4007826} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d4d2180-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Sent response.","req_id":425,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.621836,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d4c8540-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"9d4c8540-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"level":"info","message":"POST /experiments? 201 281ms","method":"POST","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd","responseTime":281,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.285","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Received request.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d4c8540-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/signaling 200 12ms","method":"POST","requestID":"9d4c8540-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70","level":"info","message":"auth send jwt","requestID":"217a3a31fbdea51626303e2aa83374b8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"217a3a31fbdea51626303e2aa83374b8","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ebfaad25-c42f-4434-bd4a-5e3a731b8ecf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.4092224} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Sent response.","req_id":426,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.504081,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"217a3a31fbdea51626303e2aa83374b8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d4d2180-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","object_type":"device","rebac_allow":false,"scope_allow":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":"9d4d2180-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Received request.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Sent response.","req_id":427,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.71731,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d4d2180-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/signaling 200 13ms","method":"POST","requestID":"9d4d2180-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"217a3a31fbdea51626303e2aa83374b8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620373,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"217a3a31fbdea51626303e2aa83374b8","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d4f9280-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.439438383Z"}]},"request_id":"5e0f9761-9ddb-4a28-92ea-e58f1590c20e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.4418652} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"217a3a31fbdea51626303e2aa83374b8","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Received request.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d7ba913c-1bf8-4884-914b-808c129be35a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.4441297} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Sent response.","req_id":428,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.31764,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"217a3a31fbdea51626303e2aa83374b8"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d4f9280-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","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":"02/Apr/2025:18:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260? 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":"217a3a31fbdea51626303e2aa83374b8"} device-1 | {"level":"info","message":"GET /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260? 200 36ms","method":"GET","requestID":"217a3a31fbdea51626303e2aa83374b8","responseTime":36,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260?"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9d4f9280-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d4f9280-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/signaling 200 33ms","method":"POST","requestID":"9d4f9280-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Building connection plan","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} 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":"693c90ad-915a-44fc-932c-e3b5f871e565"},{"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":"c0fe5690-8304-41b6-8449-ae342768bb2e"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"2be90a3a-0564-43cf-b805-719e1c5e4e9d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} 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/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260"},{"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/d4470859-eaa8-42fa-8377-c74f510a2b6f"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70","level":"info","message":"auth send jwt","requestID":"528ce44db95b57f1bc85336f3f89cc70"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"528ce44db95b57f1bc85336f3f89cc70","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"528ce44db95b57f1bc85336f3f89cc70"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"9d5510c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Received request.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:35104","level":"info","msg":"Sent response.","req_id":429,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616113,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"528ce44db95b57f1bc85336f3f89cc70","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620373,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"528ce44db95b57f1bc85336f3f89cc70","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":430,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.732398,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d5510c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620373,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3M30.knzA6BgprEBTP097CRJgf9nejmWoe7YqUsPUJjScb70"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"9d5510c0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:30.533348663Z"}]},"request_id":"a011f439-7c65-4b25-a022-0c85bef5c017","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.4596105} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"528ce44db95b57f1bc85336f3f89cc70","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"528ce44db95b57f1bc85336f3f89cc70"} gateway-1 | {"time_local":"02/Apr/2025:18:59:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f? 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":"528ce44db95b57f1bc85336f3f89cc70"} device-1 | {"level":"info","message":"GET /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f? 200 11ms","method":"GET","requestID":"528ce44db95b57f1bc85336f3f89cc70","responseTime":11,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"49d36c1f-183f-4b86-8f20-8b7d914b4075","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.4643662} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0784bd43-d51f-4d98-8451-88710a0e9ae1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.4644823} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"9d5510c0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"9d5510c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"9d5510c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5'","requestID":"9d5510c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5'","requestID":"9d5510c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"9d5510c0-0ff4-11f0-acd3-db29ca75a471"} 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":"9d5510c0-0ff4-11f0-acd3-db29ca75a471","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":"9d5510c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5","device":"5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","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/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"fb248e2bb487b6b8cae1dda2fd6261fd"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d656470-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6d60a5e0-fb1c-4733-9ff4-db7070af052c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.5906749} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":431,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.530615,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} device-1 | {"device":"5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","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/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d656470-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","object_type":"device","rebac_allow":false,"scope_allow":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":"9d656470-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d656470-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/signaling 200 38ms","method":"POST","requestID":"9d656470-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9d6b7ef0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4dc2c8d8-7b15-4dcd-a350-08d90ed15535","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620373.6042767} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":432,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.790867,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:33Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9d6b7ef0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9d6b7ef0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9d6b7ef0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/signaling 200 10ms","method":"POST","requestID":"9d6b7ef0-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/signaling"} device-1 | {"device":"d4470859-eaa8-42fa-8377-c74f510a2b6f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"ec47841e-ef25-4442-a400-5c2308f5b7a5","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 3327384420525817660 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:b1/0\r\na=ice-pwd:3fNDDdmqx0MhmZt06+UV9chf\r\na=ice-options:trickle\r\na=fingerprint:sha-256 D1:51:FD:EC:12:32:AB:B5:72:BC:76:B9:1B:0A:E0:87:4E:FC:B6:C2:45:0A:CE:9A:C6:B4:AE:08:CA:11:14:A8\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:616495696 1 udp 2113937151 404eda59-e66f-43d4-9883-0c6ffb052ca6.local 48064 typ host generation 0 ufrag b1/0 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","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/ec47841e-ef25-4442-a400-5c2308f5b7a5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ec47841e-ef25-4442-a400-5c2308f5b7a5","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"d4470859-eaa8-42fa-8377-c74f510a2b6f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d4470859-eaa8-42fa-8377-c74f510a2b6f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d4470859-eaa8-42fa-8377-c74f510a2b6f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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":"bb9a356629d2736caf5909539f5b55c4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"bb9a356629d2736caf5909539f5b55c4","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/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260"},{"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/d4470859-eaa8-42fa-8377-c74f510a2b6f"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5"}}},"level":"info","message":"received a callback","requestID":"bb9a356629d2736caf5909539f5b55c4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 4ms","method":"POST","requestID":"bb9a356629d2736caf5909539f5b55c4","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.006","http_referrer":"","http_user_agent":"node-fetch","requestID":"bb9a356629d2736caf5909539f5b55c4"} device-1 | {"data":{"peerconnection":"ec47841e-ef25-4442-a400-5c2308f5b7a5","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"d4470859-eaa8-42fa-8377-c74f510a2b6f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"d4470859-eaa8-42fa-8377-c74f510a2b6f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"ec47841e-ef25-4442-a400-5c2308f5b7a5","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","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/ec47841e-ef25-4442-a400-5c2308f5b7a5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ec47841e-ef25-4442-a400-5c2308f5b7a5","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"609d92046c098192805c31d82dc6ff71","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"609d92046c098192805c31d82dc6ff71","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/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260"},{"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/d4470859-eaa8-42fa-8377-c74f510a2b6f"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5"}}},"level":"info","message":"received a callback","requestID":"609d92046c098192805c31d82dc6ff71"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"9ea75a50-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fec47841e-ef25-4442-a400-5c2308f5b7a5","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ccb58aa4-f6c6-4c1d-97d3-8c49bbe13062","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620375.6987112} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":433,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.967921,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9ea75a50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5","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":"9ea75a50-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"9ea75a50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5 200 33ms","method":"GET","requestID":"9ea75a50-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.060","http_referrer":"","http_user_agent":"node-fetch","requestID":"609d92046c098192805c31d82dc6ff71"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 57ms","method":"POST","requestID":"609d92046c098192805c31d82dc6ff71","responseTime":57,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9eb2f310-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"831d3608-d268-4d37-862c-b328d5a32d7f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620375.749659} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":434,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.417147,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9eb2f310-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9eb2f310-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9eb2f310-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/signaling 200 8ms","method":"POST","requestID":"9eb2f310-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9eb479b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d797250d-2992-4b6a-aa52-416607f4330d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620375.7601032} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":435,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.391529,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9eb479b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9eb479b0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3NX0.TmjKXeYIGwbfN0M4UUHJ7DvCv8bB_MNEMBuEUQDegR4","level":"info","message":"auth send jwt","requestID":"d609b3e983942b8c58a881e315f80ff2"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d609b3e983942b8c58a881e315f80ff2","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14","requestID":"d609b3e983942b8c58a881e315f80ff2"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9eb479b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/signaling 200 8ms","method":"POST","requestID":"9eb479b0-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/signaling"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":436,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.669008,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d609b3e983942b8c58a881e315f80ff2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620375,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3NX0.TmjKXeYIGwbfN0M4UUHJ7DvCv8bB_MNEMBuEUQDegR4"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"d609b3e983942b8c58a881e315f80ff2","responseTime":2,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14","requestID":"d609b3e983942b8c58a881e315f80ff2"} gateway-1 | {"time_local":"02/Apr/2025:18:59:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14 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":"d609b3e983942b8c58a881e315f80ff2"} experiment-1 | {"level":"info","message":"GET /experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14 200 34ms","method":"GET","requestID":"d609b3e983942b8c58a881e315f80ff2","responseTime":34,"status":200,"url":"/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3NX0.TmjKXeYIGwbfN0M4UUHJ7DvCv8bB_MNEMBuEUQDegR4","level":"info","message":"auth send jwt","requestID":"582596757ca5f923e67e1503516273d6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"582596757ca5f923e67e1503516273d6","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14","requestID":"582596757ca5f923e67e1503516273d6"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":437,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.713958,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"582596757ca5f923e67e1503516273d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620375,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3NX0.TmjKXeYIGwbfN0M4UUHJ7DvCv8bB_MNEMBuEUQDegR4"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"582596757ca5f923e67e1503516273d6","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Attempting to finish experiment","requestID":"582596757ca5f923e67e1503516273d6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"9ebd2c40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":438,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.726419,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9ebd2c40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620375,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3NX0.TmjKXeYIGwbfN0M4UUHJ7DvCv8bB_MNEMBuEUQDegR4"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"9ebd2c40-0ff4-11f0-acd3-db29ca75a471","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5","device":"5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"d4470859-eaa8-42fa-8377-c74f510a2b6f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d4470859-eaa8-42fa-8377-c74f510a2b6f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"d4470859-eaa8-42fa-8377-c74f510a2b6f","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/ec47841e-ef25-4442-a400-5c2308f5b7a5' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ec47841e-ef25-4442-a400-5c2308f5b7a5","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fec47841e-ef25-4442-a400-5c2308f5b7a5': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fec47841e-ef25-4442-a400-5c2308f5b7a5","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"7bbed89d-279a-416e-b55d-3d981d76a477","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620375.851216} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e0a2b544-f5ce-48e2-bf3f-0115f52c2c4f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620375.8515162} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"04209285be83abdaeaa8bf3cbb759469","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"9ebd2c40-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"04209285be83abdaeaa8bf3cbb759469","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8f13bb823f5d42991a178db1b07e5de9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260"},{"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/d4470859-eaa8-42fa-8377-c74f510a2b6f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5"}}},"level":"info","message":"received a callback","requestID":"04209285be83abdaeaa8bf3cbb759469"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8f13bb823f5d42991a178db1b07e5de9","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/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260"},{"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/d4470859-eaa8-42fa-8377-c74f510a2b6f"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5"}}},"level":"info","message":"received a callback","requestID":"8f13bb823f5d42991a178db1b07e5de9"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"9ebd2c40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5 204 85ms","method":"DELETE","requestID":"9ebd2c40-0ff4-11f0-acd3-db29ca75a471","responseTime":85,"status":204,"url":"/peerconnections/ec47841e-ef25-4442-a400-5c2308f5b7a5"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"},"level":"info","message":"Successfully finished experiment","requestID":"582596757ca5f923e67e1503516273d6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ecc4770-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"48583b2d-1ef0-4d68-bad9-2c243ce5d8bf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620375.9151068} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":439,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.548729,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9ecc4770-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260","object_type":"device","rebac_allow":false,"scope_allow":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":"9ecc4770-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ecc4770-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/signaling 200 32ms","method":"POST","requestID":"9ecc4770-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78c06976-6f45-4ced-b5a4-fc5e0720ca14': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F78c06976-6f45-4ced-b5a4-fc5e0720ca14","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"f3532d0e-076e-4514-b27f-21632665675e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620375.9458678} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"9ed17790-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"54b8293c-85c6-4be2-bec6-ee81da100c3a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620375.9460418} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"582596757ca5f923e67e1503516273d6","responseTime":37,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd4470859-eaa8-42fa-8377-c74f510a2b6f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a8a55eb-c55f-48c3-87db-4adbae125015","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620375.9505649} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":440,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.27132,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:35Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9ed17790-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"9ed17790-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"9ed17790-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/signaling 200 9ms","method":"POST","requestID":"9ed17790-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14","requestID":"582596757ca5f923e67e1503516273d6"} experiment-1 | {"level":"info","message":"DELETE /experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14 204 232ms","method":"DELETE","requestID":"582596757ca5f923e67e1503516273d6","responseTime":232,"status":204,"url":"/experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14"} gateway-1 | {"time_local":"02/Apr/2025:18:59:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/78c06976-6f45-4ced-b5a4-fc5e0720ca14 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":"582596757ca5f923e67e1503516273d6"} gateway-1 | {"time_local":"02/Apr/2025:18:59:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2528","request_time":"4.216","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"e8819b9c88d97fd8a1f2e88a235d2eca"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 185ms","method":"POST","requestID":"04209285be83abdaeaa8bf3cbb759469","responseTime":185,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 185ms","method":"POST","requestID":"8f13bb823f5d42991a178db1b07e5de9","responseTime":185,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.188","http_referrer":"","http_user_agent":"node-fetch","requestID":"04209285be83abdaeaa8bf3cbb759469"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.188","http_referrer":"","http_user_agent":"node-fetch","requestID":"8f13bb823f5d42991a178db1b07e5de9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3Nn0.4QjWpxcgie0dPY4kOsK2sj4W6NPtU5ICBZj7pqicU_Y","level":"info","message":"auth send jwt","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":441,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":2.209755,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b699d0afa2b7db5f9eb9994ddb34cd32","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620376,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3Nn0.4QjWpxcgie0dPY4kOsK2sj4W6NPtU5ICBZj7pqicU_Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/d4470859-eaa8-42fa-8377-c74f510a2b6f' closed"} gateway-1 | {"time_local":"02/Apr/2025:18:59:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"3.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":"b1849d269922aac3065e197f946be5ae"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/5f8da2ea-b0b9-4ccd-8fe9-ad26708ba260' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"67973471-9398-446e-8c2f-b46fd1451655","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620376.090203} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cce45895-df3e-4633-bb43-acbc1208b343","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620376.0951698} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"511d5c8b-9f93-47af-84c4-c3d0927ee66d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620376.1050842} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a1e460fc-974c-4b1c-947b-95cf6c8e9e74","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620376.1053956} authorization-1 | {"level":"info","message":"POST /relations/update 200 12ms","method":"POST","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.105064786Z"}]},"request_id":"6d57f4ef-985d-430e-96b8-cf40ee908b55","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620376.1338243} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32","responseTime":92,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:59:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b699d0afa2b7db5f9eb9994ddb34cd32"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3Nn0.4QjWpxcgie0dPY4kOsK2sj4W6NPtU5ICBZj7pqicU_Y","level":"info","message":"auth send jwt","requestID":"54860970bdf7d04eefd94bea25cd2992"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"54860970bdf7d04eefd94bea25cd2992","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"54860970bdf7d04eefd94bea25cd2992"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:36Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":442,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.937035,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:36Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"54860970bdf7d04eefd94bea25cd2992","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620376,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3Nn0.4QjWpxcgie0dPY4kOsK2sj4W6NPtU5ICBZj7pqicU_Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"54860970bdf7d04eefd94bea25cd2992","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"e374979a-d8aa-4e6d-8635-9249abadfb4a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620376.1785855} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"54860970bdf7d04eefd94bea25cd2992","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39a4a9c2-8f97-4cbd-a7cd-563bec3e192a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620376.1842132} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"54860970bdf7d04eefd94bea25cd2992","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"e4b61156-391a-45a6-8ba7-21173ee8d783","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620376.1928482} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"1ce0b3bf-0af9-4ecd-87c8-684797543738","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620376.1931067} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"54860970bdf7d04eefd94bea25cd2992","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.192820526Z"}]},"request_id":"39e58ea0-4df0-476b-9007-de24f8f34628","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620376.1973083} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"54860970bdf7d04eefd94bea25cd2992","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"54860970bdf7d04eefd94bea25cd2992"} gateway-1 | {"time_local":"02/Apr/2025:18:59:36 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.063","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"54860970bdf7d04eefd94bea25cd2992"} device-1 | {"level":"info","message":"POST /devices? 201 59ms","method":"POST","requestID":"54860970bdf7d04eefd94bea25cd2992","responseTime":59,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3N30.SsGJNFS1CDDePTRapZ2yREV1ouVFDhDjdaT3_t68v6s","level":"info","message":"auth send jwt","requestID":"5c67806e69cdd3b688257c99a14c9b25"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5c67806e69cdd3b688257c99a14c9b25","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"5c67806e69cdd3b688257c99a14c9b25"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:37Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":443,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.93658,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5c67806e69cdd3b688257c99a14c9b25","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620377,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3N30.SsGJNFS1CDDePTRapZ2yREV1ouVFDhDjdaT3_t68v6s"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5c67806e69cdd3b688257c99a14c9b25","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.105064786Z"}]},"request_id":"216e29c9-3504-4a17-a262-e16c2a41b36b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620377.2368271} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5c67806e69cdd3b688257c99a14c9b25","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"85d37454-0817-495f-927f-ae3faacdab99","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620377.24167} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"5c67806e69cdd3b688257c99a14c9b25","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.105064786Z"}]},"request_id":"f45d8ccf-1bcb-445b-b62e-ef30835a7b20","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620377.2911932} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5c67806e69cdd3b688257c99a14c9b25","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"5c67806e69cdd3b688257c99a14c9b25"} gateway-1 | {"time_local":"02/Apr/2025:18:59:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6a842897-1be2-4334-8ba3-69d965515107 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.094","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"5c67806e69cdd3b688257c99a14c9b25"} device-1 | {"level":"info","message":"PATCH /devices/6a842897-1be2-4334-8ba3-69d965515107 200 90ms","method":"PATCH","requestID":"5c67806e69cdd3b688257c99a14c9b25","responseTime":90,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3N30.SsGJNFS1CDDePTRapZ2yREV1ouVFDhDjdaT3_t68v6s","level":"info","message":"auth send jwt","requestID":"e328018e14a9d441d00808187abad7b3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e328018e14a9d441d00808187abad7b3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"e328018e14a9d441d00808187abad7b3"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:37Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":444,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.650035,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e328018e14a9d441d00808187abad7b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620377,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3N30.SsGJNFS1CDDePTRapZ2yREV1ouVFDhDjdaT3_t68v6s"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e328018e14a9d441d00808187abad7b3","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"e328018e14a9d441d00808187abad7b3"} gateway-1 | {"time_local":"02/Apr/2025:18:59:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6a842897-1be2-4334-8ba3-69d965515107/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.16","requestID":"e328018e14a9d441d00808187abad7b3"} device-1 | {"level":"info","message":"POST /devices/6a842897-1be2-4334-8ba3-69d965515107/websocket 200 38ms","method":"POST","requestID":"e328018e14a9d441d00808187abad7b3","responseTime":38,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fa6192c14fe1d7ed27bb5757e6734dec","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"fa6192c14fe1d7ed27bb5757e6734dec","responseTime":2,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:59:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/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":"fa6192c14fe1d7ed27bb5757e6734dec"} device-1 | {"level":"info","message":"OPTIONS /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/websocket 200 1ms","method":"OPTIONS","requestID":"fa6192c14fe1d7ed27bb5757e6734dec","responseTime":1,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw","level":"info","message":"auth send jwt","requestID":"fe156c28463ca978460430c3f1689106"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"fe156c28463ca978460430c3f1689106"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"fe156c28463ca978460430c3f1689106","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":445,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.946723,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"fe156c28463ca978460430c3f1689106","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620378,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"fe156c28463ca978460430c3f1689106","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"fe156c28463ca978460430c3f1689106"} gateway-1 | {"time_local":"02/Apr/2025:18:59:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.088","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"fe156c28463ca978460430c3f1689106"} device-1 | {"level":"info","message":"POST /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/websocket 200 83ms","method":"POST","requestID":"fe156c28463ca978460430c3f1689106","responseTime":83,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw","level":"info","message":"auth send jwt","requestID":"c7aef8eb3eb8fb159ad2308b911e6a8b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"c7aef8eb3eb8fb159ad2308b911e6a8b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7aef8eb3eb8fb159ad2308b911e6a8b"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":446,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.85886,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c7aef8eb3eb8fb159ad2308b911e6a8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620378,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c7aef8eb3eb8fb159ad2308b911e6a8b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.105064786Z"}]},"request_id":"e6b62bb0-8b28-48f7-9911-42e61e3c4678","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620378.7864594} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c7aef8eb3eb8fb159ad2308b911e6a8b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7aef8eb3eb8fb159ad2308b911e6a8b"} device-1 | {"level":"info","message":"GET /devices/6a842897-1be2-4334-8ba3-69d965515107? 200 14ms","method":"GET","requestID":"c7aef8eb3eb8fb159ad2308b911e6a8b","responseTime":14,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107?"} gateway-1 | {"time_local":"02/Apr/2025:18:59:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6a842897-1be2-4334-8ba3-69d965515107? 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":"c7aef8eb3eb8fb159ad2308b911e6a8b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw","level":"info","message":"auth send jwt","requestID":"ca03a25670ce7556ce8e47e8faab9d7b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ca03a25670ce7556ce8e47e8faab9d7b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ca03a25670ce7556ce8e47e8faab9d7b"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":447,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.981264,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ca03a25670ce7556ce8e47e8faab9d7b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620378,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ca03a25670ce7556ce8e47e8faab9d7b","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.192820526Z"}]},"request_id":"4dd35f0b-c7e0-449c-b234-15da66cd5507","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620378.829943} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"ca03a25670ce7556ce8e47e8faab9d7b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ca03a25670ce7556ce8e47e8faab9d7b"} gateway-1 | {"time_local":"02/Apr/2025:18:59:38 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b? 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":"ca03a25670ce7556ce8e47e8faab9d7b"} device-1 | {"level":"info","message":"GET /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b? 200 13ms","method":"GET","requestID":"ca03a25670ce7556ce8e47e8faab9d7b","responseTime":13,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw","level":"info","message":"auth send jwt","requestID":"4c387751b080fcd52f1e31f8fdac9677"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4c387751b080fcd52f1e31f8fdac9677","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4c387751b080fcd52f1e31f8fdac9677"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":448,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.626462,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"4c387751b080fcd52f1e31f8fdac9677","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620378,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4c387751b080fcd52f1e31f8fdac9677","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Attempting to run experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Attempting to book experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Successfully booked experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a0998d60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a09dac10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":449,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.963495,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a0998d60-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620378,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"a0998d60-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":450,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.097866,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:38Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a09dac10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620378,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a09dac10-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.105064786Z"}]},"request_id":"d4654139-0bce-434c-afdb-d8213a367461","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620378.9687293} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a0998d60-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.192820526Z"}]},"request_id":"0b94ce77-293c-4421-8401-d51ea6347329","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620378.972804} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a0998d60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/6a842897-1be2-4334-8ba3-69d965515107? 200 40ms","method":"GET","requestID":"a0998d60-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a09dac10-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a09dac10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b? 200 16ms","method":"GET","requestID":"a09dac10-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Setting up experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Successfully set up experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a0b3f330-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":451,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997163,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Successfully running experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a0b3f330-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620378,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a0b3f330-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a0b4dd90-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a0b552c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":452,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.941021,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a0b4dd90-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620378,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a0b4dd90-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.105064786Z"}]},"request_id":"78a11a7c-888e-4dde-82e4-5901136f4ab9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.1184633} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a0b3f330-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a0b3f330-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} device-1 | {"level":"info","message":"GET /devices/6a842897-1be2-4334-8ba3-69d965515107? 200 17ms","method":"GET","requestID":"a0b3f330-0ff4-11f0-acd3-db29ca75a471","responseTime":17,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.192820526Z"}]},"request_id":"08e8b0ce-d1f4-41c7-9676-33c9fe05b6b9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.123466} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"068ef189-5f0d-4100-b47f-78b53f10617f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.1238363} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a0b4dd90-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":453,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.133713,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a0b4dd90-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b? 200 40ms","method":"GET","requestID":"a0b4dd90-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a0b552c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","rebac_allow":false,"scope_allow":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":"a0b552c0-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37c9d455-e751-4365-87e5-6591c91b4adc#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37c9d455-e751-4365-87e5-6591c91b4adc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"7d3b4280-c330-475e-8b19-842a951c5c19","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.128511} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b10e7c8f-e926-4b17-a211-0f0c1e05c8f9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.1286874} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"4c387751b080fcd52f1e31f8fdac9677","responseTime":42,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a0bb6d40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"8a1df551-7c38-44c6-a28d-b70f2bfbbef4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.1615717} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a0b552c0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4c387751b080fcd52f1e31f8fdac9677"} device-1 | {"level":"info","message":"POST /devices/6a842897-1be2-4334-8ba3-69d965515107/signaling 200 47ms","method":"POST","requestID":"a0b552c0-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107/signaling"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":454,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.588138,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} gateway-1 | {"time_local":"02/Apr/2025:18:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.328","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"level":"info","message":"POST /experiments? 201 324ms","method":"POST","requestID":"4c387751b080fcd52f1e31f8fdac9677","responseTime":324,"status":201,"url":"/experiments?"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a0bb6d40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","rebac_allow":false,"scope_allow":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":"a0bb6d40-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a0bd1af0-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OX0.1ZkOkPLn5VKM1f_7_muKr2kJcDNPI9SAoEjccFHQdsE","level":"info","message":"auth send jwt","requestID":"1100ec0ac03f9fcae283f5a18870b69e"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1100ec0ac03f9fcae283f5a18870b69e","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1100ec0ac03f9fcae283f5a18870b69e"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a0bb6d40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/6a842897-1be2-4334-8ba3-69d965515107/signaling 200 17ms","method":"POST","requestID":"a0bb6d40-0ff4-11f0-acd3-db29ca75a471","responseTime":17,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4b04236c-f19f-4ab8-9608-9375ce5622ea","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.1730566} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":455,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.504195,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a0bd1af0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","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":"a0be7a80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a0bd1af0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"a0bd1af0-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":456,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":28.244718,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} device-1 | {"level":"info","message":"POST /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/signaling 200 38ms","method":"POST","requestID":"a0bd1af0-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/signaling"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1100ec0ac03f9fcae283f5a18870b69e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620379,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OX0.1ZkOkPLn5VKM1f_7_muKr2kJcDNPI9SAoEjccFHQdsE"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"1100ec0ac03f9fcae283f5a18870b69e","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b9d910bc-92fd-442f-9533-666f30723c59","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.206802} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":457,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.150523,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a0be7a80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","object_type":"device","rebac_allow":false,"scope_allow":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":"a0be7a80-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a0be7a80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.105064786Z"}]},"request_id":"1459d851-7f66-47cc-96fe-e2073c587fd0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.2121477} device-1 | {"level":"info","message":"POST /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/signaling 200 36ms","method":"POST","requestID":"a0be7a80-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"1100ec0ac03f9fcae283f5a18870b69e","responseTime":5,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Building connection plan","requestID":"4c387751b080fcd52f1e31f8fdac9677"} 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":"c71c0e05-c356-4ffb-ae7d-c9dc083d3555"},{"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":"b474336b-b21c-4337-ab75-a874571acb82"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"148c6fd0-2748-4e4c-8512-3ca73f4e8d35"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4c387751b080fcd52f1e31f8fdac9677"} 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/6a842897-1be2-4334-8ba3-69d965515107"},{"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/3e7221e2-9d56-4e19-8ddf-4042af9dae6b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4c387751b080fcd52f1e31f8fdac9677"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1100ec0ac03f9fcae283f5a18870b69e"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} gateway-1 | {"time_local":"02/Apr/2025:18:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6a842897-1be2-4334-8ba3-69d965515107? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.056","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1100ec0ac03f9fcae283f5a18870b69e"} device-1 | {"level":"info","message":"GET /devices/6a842897-1be2-4334-8ba3-69d965515107? 200 51ms","method":"GET","requestID":"1100ec0ac03f9fcae283f5a18870b69e","responseTime":51,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107?"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":458,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":2.30285,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620378,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OH0.bn9dPMXqEmVf0OSHrAWW1y3Wa4DROn3RiN32DBx2TNw"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OX0.1ZkOkPLn5VKM1f_7_muKr2kJcDNPI9SAoEjccFHQdsE","level":"info","message":"auth send jwt","requestID":"e0dd507ed945e5d0d77c475cf13ad8fa"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"e0dd507ed945e5d0d77c475cf13ad8fa","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e0dd507ed945e5d0d77c475cf13ad8fa"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":459,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.2266,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e0dd507ed945e5d0d77c475cf13ad8fa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620379,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM3OX0.1ZkOkPLn5VKM1f_7_muKr2kJcDNPI9SAoEjccFHQdsE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e0dd507ed945e5d0d77c475cf13ad8fa","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"388b1933-f6bc-4904-ae4c-d41d1a8c8f46","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.2619717} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"47c16fdd-f257-42cc-89fe-e22746afe6a2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.2622252} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:36.192820526Z"}]},"request_id":"bd0aa0b7-ccf5-4904-b7cf-419c6ffa5b22","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.2637799} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"e0dd507ed945e5d0d77c475cf13ad8fa","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e0dd507ed945e5d0d77c475cf13ad8fa"} gateway-1 | {"time_local":"02/Apr/2025:18:59:39 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e0dd507ed945e5d0d77c475cf13ad8fa"} device-1 | {"level":"info","message":"GET /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b? 200 53ms","method":"GET","requestID":"e0dd507ed945e5d0d77c475cf13ad8fa","responseTime":53,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39'","requestID":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39'","requestID":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471"} 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":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471","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":"a0c4bc10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39","device":"3e7221e2-9d56-4e19-8ddf-4042af9dae6b","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/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4c387751b080fcd52f1e31f8fdac9677"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a0db7860-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0d2afcb8-70aa-45bd-a070-fd2d50a1a3c9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.4013295} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":460,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.421471,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a0db7860-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","rebac_allow":false,"scope_allow":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":"a0db7860-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a0db7860-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/6a842897-1be2-4334-8ba3-69d965515107/signaling 200 43ms","method":"POST","requestID":"a0db7860-0ff4-11f0-acd3-db29ca75a471","responseTime":43,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107/signaling"} device-1 | {"device":"3e7221e2-9d56-4e19-8ddf-4042af9dae6b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"3e7221e2-9d56-4e19-8ddf-4042af9dae6b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a0e2a450-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"487fa23f-47a4-4e0d-9ec6-97e3adc1ea41","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620379.4428942} device-1 | {"content":{"sdp":"v=0\r\no=- 4744938699937772327 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:b9xc\r\na=ice-pwd:pOIQxK7CVZicSJunLwv1vOFz\r\na=ice-options:trickle\r\na=fingerprint:sha-256 14:A2:8D:9D:B8:5A:EB:F6:8D:54:FC:5C:EC:58:A6:D0:A1:06:6B:6A:D1:FA:67:8D:15:82:B5:86:08:EE:47:DF\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"3e7221e2-9d56-4e19-8ddf-4042af9dae6b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":461,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":29.449122,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:39Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a0e2a450-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","object_type":"device","rebac_allow":false,"scope_allow":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":"a0e2a450-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a0e2a450-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/signaling 200 39ms","method":"POST","requestID":"a0e2a450-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/signaling"} device-1 | {"device":"3e7221e2-9d56-4e19-8ddf-4042af9dae6b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"6a842897-1be2-4334-8ba3-69d965515107","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"0be7e7fd-fcf1-4602-99fd-6d389e43cd39","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6a842897-1be2-4334-8ba3-69d965515107","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a842897-1be2-4334-8ba3-69d965515107","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a842897-1be2-4334-8ba3-69d965515107","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a842897-1be2-4334-8ba3-69d965515107","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/0be7e7fd-fcf1-4602-99fd-6d389e43cd39' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0be7e7fd-fcf1-4602-99fd-6d389e43cd39","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"42c0cdf294fc1080d15f153dd8f2356b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"42c0cdf294fc1080d15f153dd8f2356b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107"},{"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/3e7221e2-9d56-4e19-8ddf-4042af9dae6b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39"}}},"level":"info","message":"received a callback","requestID":"42c0cdf294fc1080d15f153dd8f2356b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"42c0cdf294fc1080d15f153dd8f2356b","responseTime":5,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"42c0cdf294fc1080d15f153dd8f2356b"} device-1 | {"content":{"candidate":"candidate:2022906012 1 udp 2113937151 1d637333-c0fd-461d-bd3b-d9d3e2f4faeb.local 59124 typ host generation 0 ufrag b9xc network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"3e7221e2-9d56-4e19-8ddf-4042af9dae6b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"3e7221e2-9d56-4e19-8ddf-4042af9dae6b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"peerconnection":"0be7e7fd-fcf1-4602-99fd-6d389e43cd39","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6a842897-1be2-4334-8ba3-69d965515107","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"3e7221e2-9d56-4e19-8ddf-4042af9dae6b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"6a842897-1be2-4334-8ba3-69d965515107","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"0be7e7fd-fcf1-4602-99fd-6d389e43cd39","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/0be7e7fd-fcf1-4602-99fd-6d389e43cd39' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0be7e7fd-fcf1-4602-99fd-6d389e43cd39","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1b9df9896d9eec495088d0647d94c5a0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1b9df9896d9eec495088d0647d94c5a0","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/6a842897-1be2-4334-8ba3-69d965515107"},{"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/3e7221e2-9d56-4e19-8ddf-4042af9dae6b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39"}}},"level":"info","message":"received a callback","requestID":"1b9df9896d9eec495088d0647d94c5a0"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a224c140-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0be7e7fd-fcf1-4602-99fd-6d389e43cd39","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b24e5999-bd00-4396-8079-19ebb0d572d8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620381.5532112} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":462,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":27.121031,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a224c140-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"a224c140-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a224c140-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39 200 33ms","method":"GET","requestID":"a224c140-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"1b9df9896d9eec495088d0647d94c5a0","responseTime":56,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4MX0.vm-2NIVyQ4m2YSBvd6WsJCstPms7bFckvSYw65ySjGQ","level":"info","message":"auth send jwt","requestID":"f101ed008d2449a2669214ab06c8372b"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.059","http_referrer":"","http_user_agent":"node-fetch","requestID":"1b9df9896d9eec495088d0647d94c5a0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f101ed008d2449a2669214ab06c8372b","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a22c8970-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/37c9d455-e751-4365-87e5-6591c91b4adc","requestID":"f101ed008d2449a2669214ab06c8372b"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":464,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.568925,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f101ed008d2449a2669214ab06c8372b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620381,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4MX0.vm-2NIVyQ4m2YSBvd6WsJCstPms7bFckvSYw65ySjGQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"f101ed008d2449a2669214ab06c8372b","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1505a8a1-eea6-430c-947f-7acfa9e308ec","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620381.6016912} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":463,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.285942,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a22c8970-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","rebac_allow":false,"scope_allow":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":"a22c8970-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a22c8970-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/6a842897-1be2-4334-8ba3-69d965515107/signaling 200 35ms","method":"POST","requestID":"a22c8970-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/37c9d455-e751-4365-87e5-6591c91b4adc","requestID":"f101ed008d2449a2669214ab06c8372b"} gateway-1 | {"time_local":"02/Apr/2025:18:59:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/37c9d455-e751-4365-87e5-6591c91b4adc HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f101ed008d2449a2669214ab06c8372b"} experiment-1 | {"level":"info","message":"GET /experiments/37c9d455-e751-4365-87e5-6591c91b4adc 200 36ms","method":"GET","requestID":"f101ed008d2449a2669214ab06c8372b","responseTime":36,"status":200,"url":"/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2327ce0-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4MX0.vm-2NIVyQ4m2YSBvd6WsJCstPms7bFckvSYw65ySjGQ","level":"info","message":"auth send jwt","requestID":"ed35c52129fcb69200e81c5e6e80a191"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:41Z"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ed35c52129fcb69200e81c5e6e80a191","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/37c9d455-e751-4365-87e5-6591c91b4adc","requestID":"ed35c52129fcb69200e81c5e6e80a191"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"64cc9402-8869-4c4c-a574-5019d64310f7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620381.61909} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":465,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.455307,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a2327ce0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","object_type":"device","rebac_allow":false,"scope_allow":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":"a2327ce0-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":466,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.918139,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ed35c52129fcb69200e81c5e6e80a191","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620381,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4MX0.vm-2NIVyQ4m2YSBvd6WsJCstPms7bFckvSYw65ySjGQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ed35c52129fcb69200e81c5e6e80a191","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2327ce0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/signaling 200 12ms","method":"POST","requestID":"a2327ce0-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Attempting to finish experiment","requestID":"ed35c52129fcb69200e81c5e6e80a191"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a2387050-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":467,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.812675,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a2387050-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620381,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4MX0.vm-2NIVyQ4m2YSBvd6WsJCstPms7bFckvSYw65ySjGQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a2387050-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39","device":"3e7221e2-9d56-4e19-8ddf-4042af9dae6b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"6a842897-1be2-4334-8ba3-69d965515107","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a842897-1be2-4334-8ba3-69d965515107","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6a842897-1be2-4334-8ba3-69d965515107","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/0be7e7fd-fcf1-4602-99fd-6d389e43cd39' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"0be7e7fd-fcf1-4602-99fd-6d389e43cd39","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c4c66e9b63c0441b1be438b2c055d70d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c4c66e9b63c0441b1be438b2c055d70d","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e55792860b599b112c440f609f660ca0","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e55792860b599b112c440f609f660ca0","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/6a842897-1be2-4334-8ba3-69d965515107"},{"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/3e7221e2-9d56-4e19-8ddf-4042af9dae6b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39"}}},"level":"info","message":"received a callback","requestID":"c4c66e9b63c0441b1be438b2c055d70d"} 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/6a842897-1be2-4334-8ba3-69d965515107"},{"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/3e7221e2-9d56-4e19-8ddf-4042af9dae6b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39"}}},"level":"info","message":"received a callback","requestID":"e55792860b599b112c440f609f660ca0"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0be7e7fd-fcf1-4602-99fd-6d389e43cd39': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F0be7e7fd-fcf1-4602-99fd-6d389e43cd39","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"003a31c3-9db8-407d-ac08-c3ce21b261b8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620381.7472448} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53a5a333-ed09-4062-b647-7f1b48be5ec4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620381.7477891} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","method":"POST","requestID":"a2387050-0ff4-11f0-acd3-db29ca75a471","responseTime":49,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"0be7e7fd-fcf1-4602-99fd-6d389e43cd39","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a2387050-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39 204 152ms","method":"DELETE","requestID":"a2387050-0ff4-11f0-acd3-db29ca75a471","responseTime":152,"status":204,"url":"/peerconnections/0be7e7fd-fcf1-4602-99fd-6d389e43cd39"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"},"level":"info","message":"Successfully finished experiment","requestID":"ed35c52129fcb69200e81c5e6e80a191"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2556e30-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6a842897-1be2-4334-8ba3-69d965515107","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a564e8bb-d885-477c-a82d-037ebbca29ce","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620381.8499234} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":468,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.715688,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a2556e30-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107","object_type":"device","rebac_allow":false,"scope_allow":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":"a2556e30-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37c9d455-e751-4365-87e5-6591c91b4adc': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F37c9d455-e751-4365-87e5-6591c91b4adc","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"01508cad-efc4-4827-aa6e-8a2dbcda5bdf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620381.8560836} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"add757d0-5a1c-4538-b711-fd8009efbf8f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620381.8563173} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2556e30-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/6a842897-1be2-4334-8ba3-69d965515107/signaling 200 15ms","method":"POST","requestID":"a2556e30-0ff4-11f0-acd3-db29ca75a471","responseTime":15,"status":200,"url":"/devices/6a842897-1be2-4334-8ba3-69d965515107/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"ed35c52129fcb69200e81c5e6e80a191","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a2580640-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F3e7221e2-9d56-4e19-8ddf-4042af9dae6b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4204d86a-26dd-4d3d-a87e-dcda2057cc7c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620381.889229} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":469,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.235673,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a2580640-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b","object_type":"device","rebac_allow":false,"scope_allow":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":"a2580640-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a2580640-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/signaling 200 35ms","method":"POST","requestID":"a2580640-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/37c9d455-e751-4365-87e5-6591c91b4adc","requestID":"ed35c52129fcb69200e81c5e6e80a191"} experiment-1 | {"level":"info","message":"DELETE /experiments/37c9d455-e751-4365-87e5-6591c91b4adc 204 368ms","method":"DELETE","requestID":"ed35c52129fcb69200e81c5e6e80a191","responseTime":368,"status":204,"url":"/experiments/37c9d455-e751-4365-87e5-6591c91b4adc"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 282ms","method":"POST","requestID":"c4c66e9b63c0441b1be438b2c055d70d","responseTime":282,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/37c9d455-e751-4365-87e5-6591c91b4adc HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.371","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed35c52129fcb69200e81c5e6e80a191"} gateway-1 | {"time_local":"02/Apr/2025:18:59:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2580","request_time":"4.649","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"2dfd978ed437d085b593090e9df962f4"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.312","http_referrer":"","http_user_agent":"node-fetch","requestID":"c4c66e9b63c0441b1be438b2c055d70d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 282ms","method":"POST","requestID":"e55792860b599b112c440f609f660ca0","responseTime":282,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.288","http_referrer":"","http_user_agent":"node-fetch","requestID":"e55792860b599b112c440f609f660ca0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4MX0.vm-2NIVyQ4m2YSBvd6WsJCstPms7bFckvSYw65ySjGQ","level":"info","message":"auth send jwt","requestID":"03d59c0e2372c90a4c1193f5b7096dc1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"03d59c0e2372c90a4c1193f5b7096dc1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"03d59c0e2372c90a4c1193f5b7096dc1"} gateway-1 | {"time_local":"02/Apr/2025:18:59:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2782","request_time":"3.267","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"5e1b1fdd1c99afa87dbc8de82261281c"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":470,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.329504,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"03d59c0e2372c90a4c1193f5b7096dc1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620381,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4MX0.vm-2NIVyQ4m2YSBvd6WsJCstPms7bFckvSYw65ySjGQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"03d59c0e2372c90a4c1193f5b7096dc1","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6a842897-1be2-4334-8ba3-69d965515107' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d0b945b0-950b-4594-aa92-3ef0189773f8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620382.0560167} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"03d59c0e2372c90a4c1193f5b7096dc1","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"29ec8fb4-5dad-409a-af28-1fed1e4ee876","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620382.0865245} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"03d59c0e2372c90a4c1193f5b7096dc1","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/3e7221e2-9d56-4e19-8ddf-4042af9dae6b' closed"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"1aeccb29-42d9-4bc4-8659-b6f7b08bf380","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620382.1018076} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"25b70391-2895-4301-8b89-ee8a1b7038b4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620382.1021225} authorization-1 | {"level":"info","message":"POST /relations/update 200 20ms","method":"POST","requestID":"03d59c0e2372c90a4c1193f5b7096dc1","responseTime":20,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.101773065Z"}]},"request_id":"eddea4ec-640a-42cb-b8be-e346bd7ad556","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620382.1080246} gateway-1 | {"time_local":"02/Apr/2025:18:59:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.149","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"03d59c0e2372c90a4c1193f5b7096dc1"} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"03d59c0e2372c90a4c1193f5b7096dc1","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"03d59c0e2372c90a4c1193f5b7096dc1"} device-1 | {"level":"info","message":"POST /devices? 201 141ms","method":"POST","requestID":"03d59c0e2372c90a4c1193f5b7096dc1","responseTime":141,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4Mn0.FdZFrnZLOi_8n-P_Ay3cki9p8Y3nMD_3vRGRD7TPo9s","level":"info","message":"auth send jwt","requestID":"eacaa2894888f9e53c8223f5242d1567"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eacaa2894888f9e53c8223f5242d1567","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"eacaa2894888f9e53c8223f5242d1567"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:42Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":471,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.026962,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:42Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"eacaa2894888f9e53c8223f5242d1567","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620382,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4Mn0.FdZFrnZLOi_8n-P_Ay3cki9p8Y3nMD_3vRGRD7TPo9s"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eacaa2894888f9e53c8223f5242d1567","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"68bb03dd-aa04-4663-bea0-5e3626e836a2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620382.1878288} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eacaa2894888f9e53c8223f5242d1567","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d95f60e5-55e4-4d06-b8e9-8c401137ffd4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620382.1939378} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"eacaa2894888f9e53c8223f5242d1567","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"6f27f99d-6a1f-4a2c-bf56-4301ee2d8d62","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620382.2283442} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6f3ab376-acae-4c1d-a795-2746b7d9f335","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620382.2284439} authorization-1 | {"level":"info","message":"POST /relations/update 200 37ms","method":"POST","requestID":"eacaa2894888f9e53c8223f5242d1567","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.228323343Z"}]},"request_id":"dbd6604e-3ddf-444f-b55c-07181b38c4ce","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620382.2340562} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eacaa2894888f9e53c8223f5242d1567","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"eacaa2894888f9e53c8223f5242d1567"} gateway-1 | {"time_local":"02/Apr/2025:18:59:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.100","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eacaa2894888f9e53c8223f5242d1567"} device-1 | {"level":"info","message":"POST /devices? 201 95ms","method":"POST","requestID":"eacaa2894888f9e53c8223f5242d1567","responseTime":95,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4M30.vhCXrg24T3XniZgXUa_SAxqtwDBlyusLUnfuihpIkm4","level":"info","message":"auth send jwt","requestID":"c4cc5d494b39a0b31af03a3bbfd8659c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c4cc5d494b39a0b31af03a3bbfd8659c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c4cc5d494b39a0b31af03a3bbfd8659c"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":472,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.843266,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c4cc5d494b39a0b31af03a3bbfd8659c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620383,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4M30.vhCXrg24T3XniZgXUa_SAxqtwDBlyusLUnfuihpIkm4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c4cc5d494b39a0b31af03a3bbfd8659c","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.101773065Z"}]},"request_id":"23809464-0284-4866-8b4c-259440f82b7a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620383.665183} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"c4cc5d494b39a0b31af03a3bbfd8659c","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"59c3a0a6-936b-4edb-8fd9-afe0b7bd85bc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620383.6713345} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"c4cc5d494b39a0b31af03a3bbfd8659c","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.101773065Z"}]},"request_id":"354bbc7c-a44a-4e56-a82f-29933fde0a13","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620383.7135117} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"c4cc5d494b39a0b31af03a3bbfd8659c","responseTime":27,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:18:59:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.088","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"c4cc5d494b39a0b31af03a3bbfd8659c"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c4cc5d494b39a0b31af03a3bbfd8659c"} device-1 | {"level":"info","message":"PATCH /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9 200 85ms","method":"PATCH","requestID":"c4cc5d494b39a0b31af03a3bbfd8659c","responseTime":85,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4M30.vhCXrg24T3XniZgXUa_SAxqtwDBlyusLUnfuihpIkm4","level":"info","message":"auth send jwt","requestID":"8d188f30fe18a02e933a597c6d565826"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8d188f30fe18a02e933a597c6d565826","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8d188f30fe18a02e933a597c6d565826"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:43Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":473,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.921629,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8d188f30fe18a02e933a597c6d565826","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620383,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4M30.vhCXrg24T3XniZgXUa_SAxqtwDBlyusLUnfuihpIkm4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8d188f30fe18a02e933a597c6d565826","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8d188f30fe18a02e933a597c6d565826"} gateway-1 | {"time_local":"02/Apr/2025:18:59:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/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.16","requestID":"8d188f30fe18a02e933a597c6d565826"} device-1 | {"level":"info","message":"POST /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/websocket 200 16ms","method":"POST","requestID":"8d188f30fe18a02e933a597c6d565826","responseTime":16,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5b172f4554fd1e7914bd60c56333c079","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5b172f4554fd1e7914bd60c56333c079","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:18:59:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/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":"5b172f4554fd1e7914bd60c56333c079"} device-1 | {"level":"info","message":"OPTIONS /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/websocket 200 1ms","method":"OPTIONS","requestID":"5b172f4554fd1e7914bd60c56333c079","responseTime":1,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk","level":"info","message":"auth send jwt","requestID":"8edb9c0980d289dcc4bfa9c36948ab49"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8edb9c0980d289dcc4bfa9c36948ab49","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8edb9c0980d289dcc4bfa9c36948ab49"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":474,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.864539,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:44Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8edb9c0980d289dcc4bfa9c36948ab49","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620384,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8edb9c0980d289dcc4bfa9c36948ab49","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8edb9c0980d289dcc4bfa9c36948ab49"} gateway-1 | {"time_local":"02/Apr/2025:18:59:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/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":"8edb9c0980d289dcc4bfa9c36948ab49"} device-1 | {"level":"info","message":"POST /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/websocket 200 43ms","method":"POST","requestID":"8edb9c0980d289dcc4bfa9c36948ab49","responseTime":43,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk","level":"info","message":"auth send jwt","requestID":"caccbb0d3be7cae37fb5b76388260006"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"caccbb0d3be7cae37fb5b76388260006","responseTime":30,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"caccbb0d3be7cae37fb5b76388260006"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":475,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.885902,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"caccbb0d3be7cae37fb5b76388260006","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620384,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"caccbb0d3be7cae37fb5b76388260006","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.101773065Z"}]},"request_id":"9f7556a3-5aa8-4b18-9413-32643e9879ba","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620384.9282315} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"caccbb0d3be7cae37fb5b76388260006","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"caccbb0d3be7cae37fb5b76388260006"} gateway-1 | {"time_local":"02/Apr/2025:18:59:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.073","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"caccbb0d3be7cae37fb5b76388260006"} device-1 | {"level":"info","message":"GET /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9? 200 42ms","method":"GET","requestID":"caccbb0d3be7cae37fb5b76388260006","responseTime":42,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk","level":"info","message":"auth send jwt","requestID":"3617d1ff66bdbb0a338c1ff092a4fa97"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3617d1ff66bdbb0a338c1ff092a4fa97","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3617d1ff66bdbb0a338c1ff092a4fa97"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:44Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":476,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.856238,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:44Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3617d1ff66bdbb0a338c1ff092a4fa97","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620384,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3617d1ff66bdbb0a338c1ff092a4fa97","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.228323343Z"}]},"request_id":"dd5c2fe4-7f3e-4857-9ee7-ffbcf736bc37","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620384.9767847} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"3617d1ff66bdbb0a338c1ff092a4fa97","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3617d1ff66bdbb0a338c1ff092a4fa97"} gateway-1 | {"time_local":"02/Apr/2025:18:59:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688? 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":"3617d1ff66bdbb0a338c1ff092a4fa97"} device-1 | {"level":"info","message":"GET /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688? 200 13ms","method":"GET","requestID":"3617d1ff66bdbb0a338c1ff092a4fa97","responseTime":13,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk","level":"info","message":"auth send jwt","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":477,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.92222,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5be6fe8d3d9246b78b0f67c88e87be8f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620384,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Attempting to run experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Attempting to book experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Successfully booked experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a4429830-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a442bf40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":478,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.931806,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a4429830-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620384,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a4429830-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":479,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.7223,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a442bf40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620384,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"a442bf40-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.101773065Z"}]},"request_id":"0d7534cb-64a8-4823-b0a8-004e0dbf4690","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.1079924} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a4429830-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.228323343Z"}]},"request_id":"e55242c6-0128-4049-9a49-8b8c42673bdc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.1087027} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a442bf40-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a4429830-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9? 200 38ms","method":"GET","requestID":"a4429830-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a442bf40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688? 200 38ms","method":"GET","requestID":"a442bf40-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Setting up experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Successfully set up experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a4516540-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a4518c50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a451da70-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Successfully running experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Received request.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:60986","level":"info","msg":"Sent response.","req_id":481,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.865539,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a4518c50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620384,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"a4518c50-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":480,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":30.056485,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a4516540-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620384,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"a4516540-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":482,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.171559,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"23df5ed4-f33f-446a-9126-f1c9f53bc080","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.2095876} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a451da70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"a451da70-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.101773065Z"}]},"request_id":"ca9fa5ec-cc9d-443d-82ad-a43176866a50","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.2113385} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"a4516540-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a451da70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.228323343Z"}]},"request_id":"9db8d0cb-10cd-48a3-9550-5855492194b4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.214606} device-1 | {"level":"info","message":"POST /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/signaling 200 40ms","method":"POST","requestID":"a451da70-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"a4518c50-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a4589130-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a4516540-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} device-1 | {"level":"info","message":"GET /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9? 200 50ms","method":"GET","requestID":"a4516540-0ff4-11f0-acd3-db29ca75a471","responseTime":50,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a4518c50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688? 200 50ms","method":"GET","requestID":"a4518c50-0ff4-11f0-acd3-db29ca75a471","responseTime":50,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"75be8133-1ecb-40a3-8715-ef9b020f0676","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.224112} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80ed0914-dab3-4433-989a-4dac8bbed91b#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80ed0914-dab3-4433-989a-4dac8bbed91b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"0b4009ac-2d46-4652-b1d9-331920bb3e55","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.2242928} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a45d2510-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7b8226ec-f55e-4bfa-b922-fee61ae85b62","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.2247133} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":483,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.519229,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a4589130-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","object_type":"device","rebac_allow":false,"scope_allow":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":"a4589130-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","method":"POST","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f","responseTime":51,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a4589130-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/signaling 200 36ms","method":"POST","requestID":"a4589130-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"6fd87d08-15b0-449e-aa80-b2aada07edbd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.2566175} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":484,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.896097,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a45d2510-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a45d2510-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} gateway-1 | {"time_local":"02/Apr/2025:18:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1291","request_time":"0.278","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"level":"info","message":"POST /experiments? 201 250ms","method":"POST","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f","responseTime":250,"status":201,"url":"/experiments?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a45d2510-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/signaling 200 12ms","method":"POST","requestID":"a45d2510-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a45f47f0-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NX0.iGW20NbPjdrB-LQn7z2Rj4IvIyQt0jSlAtEQQiERKpc","level":"info","message":"auth send jwt","requestID":"6f695eeea6b2009f745c10d457047612"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f695eeea6b2009f745c10d457047612","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f695eeea6b2009f745c10d457047612"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d796713e-0616-4451-bfc2-be620c143613","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.2683642} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":485,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.766212,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":486,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.981864,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a45f47f0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a45f47f0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6f695eeea6b2009f745c10d457047612","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620385,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NX0.iGW20NbPjdrB-LQn7z2Rj4IvIyQt0jSlAtEQQiERKpc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6f695eeea6b2009f745c10d457047612","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a45f47f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/signaling 200 35ms","method":"POST","requestID":"a45f47f0-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.101773065Z"}]},"request_id":"36811fd4-6723-478e-a6a6-d7d6650f72a2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.299035} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Building connection plan","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} 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":"7292c21b-8a1c-4e28-abf8-d3a0cf7daf28"},{"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":"998cb23e-f8d3-4074-8492-9c6299b4037c"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"18c3d1fa-b501-44e9-bf18-7d7ddbc88f78"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} 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/b2b63f7b-03dd-42bf-a827-64273cbc4688"},{"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/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6f695eeea6b2009f745c10d457047612","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a4653b60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f695eeea6b2009f745c10d457047612"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} gateway-1 | {"time_local":"02/Apr/2025:18:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6f695eeea6b2009f745c10d457047612"} device-1 | {"level":"info","message":"GET /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9? 200 39ms","method":"GET","requestID":"6f695eeea6b2009f745c10d457047612","responseTime":40,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9?"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":487,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.917399,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a4653b60-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620384,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NH0.v7kuhIx4_pKga3sC5L4d3gnAk5fXo6EAm-nJJQzDiIk"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a4653b60-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NX0.iGW20NbPjdrB-LQn7z2Rj4IvIyQt0jSlAtEQQiERKpc","level":"info","message":"auth send jwt","requestID":"8b678d4fd1417e87ef18008a48692587"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8b678d4fd1417e87ef18008a48692587","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"8b678d4fd1417e87ef18008a48692587"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":488,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.953646,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8b678d4fd1417e87ef18008a48692587","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620385,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4NX0.iGW20NbPjdrB-LQn7z2Rj4IvIyQt0jSlAtEQQiERKpc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"8b678d4fd1417e87ef18008a48692587","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"72df9597-78b4-49dd-b58a-e42c16895d1b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.318558} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"423e386b-1b99-4213-985c-8742ff213aca","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.3188019} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:42.228323343Z"}]},"request_id":"dc964543-ee0a-41b7-9412-e01f22c14cec","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.319739} authorization-1 | {"level":"info","message":"POST /relations/update 200 31ms","method":"POST","requestID":"a4653b60-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"8b678d4fd1417e87ef18008a48692587","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"8b678d4fd1417e87ef18008a48692587"} gateway-1 | {"time_local":"02/Apr/2025:18:59:45 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"8b678d4fd1417e87ef18008a48692587"} device-1 | {"level":"info","message":"GET /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688? 200 39ms","method":"GET","requestID":"8b678d4fd1417e87ef18008a48692587","responseTime":39,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a4653b60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a4653b60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed'","requestID":"a4653b60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed'","requestID":"a4653b60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a4653b60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 97ms","method":"POST","requestID":"a4653b60-0ff4-11f0-acd3-db29ca75a471","responseTime":97,"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":"a4653b60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed","device":"b2b63f7b-03dd-42bf-a827-64273cbc4688","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5be6fe8d3d9246b78b0f67c88e87be8f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a47b8280-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c0e9bcd7-c890-4d44-8ac9-faa0b166b795","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.4540029} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":489,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.483871,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} device-1 | {"device":"b2b63f7b-03dd-42bf-a827-64273cbc4688","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a47b8280-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"content":{"canTrickle":true},"device":"b2b63f7b-03dd-42bf-a827-64273cbc4688","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a47b8280-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a47b8280-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/signaling 200 12ms","method":"POST","requestID":"a47b8280-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a47da560-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eceb23a1-3e46-41af-a04b-4f3c117f42cf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620385.4937649} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":490,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.442944,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:45Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a47da560-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","object_type":"device","rebac_allow":false,"scope_allow":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":"a47da560-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a47da560-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/signaling 200 36ms","method":"POST","requestID":"a47da560-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/signaling"} device-1 | {"device":"b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"fb52a930-e735-484f-a646-78a1eb22d0ed","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 6027567726523582729 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:Wjq7\r\na=ice-pwd:u+Aiq2Mlx09A4HQNqNX4Co0e\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C8:4F:53:1D:C0:37:55:43:74:B6:30:D1:4D:EA:00:A0:24:D5:F9:C8:4C:14:87:4C:61:2B:0A:18:C6:B7:34:C1\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"b2b63f7b-03dd-42bf-a827-64273cbc4688","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2968984903 1 udp 2113937151 6b88461d-ca9b-4679-aa6d-7ccd73a6e06d.local 37945 typ host generation 0 ufrag Wjq7 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b2b63f7b-03dd-42bf-a827-64273cbc4688","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"b2b63f7b-03dd-42bf-a827-64273cbc4688","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"data":{"error":{}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688'"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fb52a930-e735-484f-a646-78a1eb22d0ed","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b2b63f7b-03dd-42bf-a827-64273cbc4688","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0cc148dab62fbedae0b988e2b276f011","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","driver":"device2","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","driver":"device2","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688"},{"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/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed"}}},"level":"info","message":"received a callback","requestID":"0cc148dab62fbedae0b988e2b276f011"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0cc148dab62fbedae0b988e2b276f011","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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":"0cc148dab62fbedae0b988e2b276f011","responseTime":4,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.028","http_referrer":"","http_user_agent":"node-fetch","requestID":"0cc148dab62fbedae0b988e2b276f011"} device-1 | {"data":{"peerconnection":"fb52a930-e735-484f-a646-78a1eb22d0ed","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b2b63f7b-03dd-42bf-a827-64273cbc4688","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"fb52a930-e735-484f-a646-78a1eb22d0ed","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b2b63f7b-03dd-42bf-a827-64273cbc4688","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/fb52a930-e735-484f-a646-78a1eb22d0ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"fb52a930-e735-484f-a646-78a1eb22d0ed","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"56ce1b396a1430c79d32bb9b5f931114","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"56ce1b396a1430c79d32bb9b5f931114","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/b2b63f7b-03dd-42bf-a827-64273cbc4688"},{"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/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed"}}},"level":"info","message":"received a callback","requestID":"56ce1b396a1430c79d32bb9b5f931114"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a5c0acb0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffb52a930-e735-484f-a646-78a1eb22d0ed","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9cac71b7-4519-41c7-9960-55581370b6cf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620387.6082551} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":491,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.495194,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a5c0acb0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed","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":"a5c0acb0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a5c0acb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed 200 33ms","method":"GET","requestID":"a5c0acb0-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 82ms","method":"POST","requestID":"56ce1b396a1430c79d32bb9b5f931114","responseTime":82,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.084","http_referrer":"","http_user_agent":"node-fetch","requestID":"56ce1b396a1430c79d32bb9b5f931114"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a5cc9390-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"da57fa90-26f5-4912-8155-ca841c9c4b38","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620387.6610327} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":492,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.605029,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a5cc9390-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a5cc9390-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a5cc9390-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/signaling 200 9ms","method":"POST","requestID":"a5cc9390-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a5ce4140-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4N30.XTN_ibg2deyOMkihaX0OKoRHeX-Xj4wYljnWu_5_-8c","level":"info","message":"auth send jwt","requestID":"26b90ba4069d69b763b6648839bdb140"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"26b90ba4069d69b763b6648839bdb140","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/80ed0914-dab3-4433-989a-4dac8bbed91b","requestID":"26b90ba4069d69b763b6648839bdb140"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"49f5691f-10c6-4c16-9fc3-be207ef153ca","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620387.6727374} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":494,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":24.990074,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"26b90ba4069d69b763b6648839bdb140","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620387,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4N30.XTN_ibg2deyOMkihaX0OKoRHeX-Xj4wYljnWu_5_-8c"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"26b90ba4069d69b763b6648839bdb140","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":493,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.779094,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a5ce4140-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","rebac_allow":false,"scope_allow":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":"a5ce4140-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a5ce4140-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/80ed0914-dab3-4433-989a-4dac8bbed91b","requestID":"26b90ba4069d69b763b6648839bdb140"} device-1 | {"level":"info","message":"POST /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/signaling 200 34ms","method":"POST","requestID":"a5ce4140-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/signaling"} gateway-1 | {"time_local":"02/Apr/2025:18:59:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/80ed0914-dab3-4433-989a-4dac8bbed91b HTTP/1.1","status": "200","body_bytes_sent":"1364","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"26b90ba4069d69b763b6648839bdb140"} experiment-1 | {"level":"info","message":"GET /experiments/80ed0914-dab3-4433-989a-4dac8bbed91b 200 36ms","method":"GET","requestID":"26b90ba4069d69b763b6648839bdb140","responseTime":36,"status":200,"url":"/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4N30.XTN_ibg2deyOMkihaX0OKoRHeX-Xj4wYljnWu_5_-8c","level":"info","message":"auth send jwt","requestID":"fac8d5078a2e165369b6e5347f6cb82e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"fac8d5078a2e165369b6e5347f6cb82e","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/80ed0914-dab3-4433-989a-4dac8bbed91b","requestID":"fac8d5078a2e165369b6e5347f6cb82e"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":495,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.724322,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"fac8d5078a2e165369b6e5347f6cb82e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620387,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4N30.XTN_ibg2deyOMkihaX0OKoRHeX-Xj4wYljnWu_5_-8c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"fac8d5078a2e165369b6e5347f6cb82e","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Attempting to finish experiment","requestID":"fac8d5078a2e165369b6e5347f6cb82e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a5da0110-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":496,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.898817,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a5da0110-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620387,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4N30.XTN_ibg2deyOMkihaX0OKoRHeX-Xj4wYljnWu_5_-8c"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a5da0110-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed","device":"b2b63f7b-03dd-42bf-a827-64273cbc4688","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/fb52a930-e735-484f-a646-78a1eb22d0ed' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed' to 'http://localhost/callbacks/experiment'"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffb52a930-e735-484f-a646-78a1eb22d0ed': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Ffb52a930-e735-484f-a646-78a1eb22d0ed","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"7f2f90b0-547b-4e05-8998-b9176350cb2f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620387.760518} device-1 | {"data":{"peerconnection":"fb52a930-e735-484f-a646-78a1eb22d0ed","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7ddb663c-adb3-4250-a9d4-f1cded93f40c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620387.761031} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"a5da0110-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"14e5836b1e3e6a1f6f3267061c94eeaa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"14e5836b1e3e6a1f6f3267061c94eeaa","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/b2b63f7b-03dd-42bf-a827-64273cbc4688"},{"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/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed"}}},"level":"info","message":"received a callback","requestID":"14e5836b1e3e6a1f6f3267061c94eeaa"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a5da0110-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e78a3cb97009300a83da2eba5372f7bc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/fb52a930-e735-484f-a646-78a1eb22d0ed 204 22ms","method":"DELETE","requestID":"a5da0110-0ff4-11f0-acd3-db29ca75a471","responseTime":22,"status":204,"url":"/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e78a3cb97009300a83da2eba5372f7bc","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/b2b63f7b-03dd-42bf-a827-64273cbc4688"},{"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/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/fb52a930-e735-484f-a646-78a1eb22d0ed"}}},"level":"info","message":"received a callback","requestID":"e78a3cb97009300a83da2eba5372f7bc"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"},"level":"info","message":"Successfully finished experiment","requestID":"fac8d5078a2e165369b6e5347f6cb82e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a5e41330-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2b63f7b-03dd-42bf-a827-64273cbc4688","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7f40c0de-2c9f-4cee-8afd-892988f8ecfb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620387.8160052} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":497,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.862178,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a5e41330-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688","object_type":"device","rebac_allow":false,"scope_allow":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":"a5e41330-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a5e41330-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/signaling 200 34ms","method":"POST","requestID":"a5e41330-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a5e99170-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80ed0914-dab3-4433-989a-4dac8bbed91b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F80ed0914-dab3-4433-989a-4dac8bbed91b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"c6d2c6ce-5e2a-4c3a-9865-82f1e710e47d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620387.8493211} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d6941f1e-232c-476f-8243-4eb5218c80b5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620387.8495936} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"fac8d5078a2e165369b6e5347f6cb82e","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb2f9d328-c6d9-4ae4-b413-0c2c46e558a9","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"991f73f2-35b4-4ee1-888a-08714f05a695","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620387.8526084} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":498,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.493674,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:47Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a5e99170-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9","object_type":"device","rebac_allow":false,"scope_allow":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":"a5e99170-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a5e99170-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/signaling 200 12ms","method":"POST","requestID":"a5e99170-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/80ed0914-dab3-4433-989a-4dac8bbed91b","requestID":"fac8d5078a2e165369b6e5347f6cb82e"} gateway-1 | {"time_local":"02/Apr/2025:18:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/80ed0914-dab3-4433-989a-4dac8bbed91b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.295","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fac8d5078a2e165369b6e5347f6cb82e"} gateway-1 | {"time_local":"02/Apr/2025:18:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2531","request_time":"4.241","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"1ae1b93991adeb3172540f568e036d65"} experiment-1 | {"level":"info","message":"DELETE /experiments/80ed0914-dab3-4433-989a-4dac8bbed91b 204 293ms","method":"DELETE","requestID":"fac8d5078a2e165369b6e5347f6cb82e","responseTime":293,"status":204,"url":"/experiments/80ed0914-dab3-4433-989a-4dac8bbed91b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 240ms","method":"POST","requestID":"14e5836b1e3e6a1f6f3267061c94eeaa","responseTime":240,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.243","http_referrer":"","http_user_agent":"node-fetch","requestID":"14e5836b1e3e6a1f6f3267061c94eeaa"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 212ms","method":"POST","requestID":"e78a3cb97009300a83da2eba5372f7bc","responseTime":212,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.242","http_referrer":"","http_user_agent":"node-fetch","requestID":"e78a3cb97009300a83da2eba5372f7bc"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OH0.YausyiUGjHdbgG-iQMqkMGyqvlLby_Q-f0jhobAnA-o","level":"info","message":"auth send jwt","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0"} gateway-1 | {"time_local":"02/Apr/2025:18:59:48 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"3.157","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"dcb595871e1361ba70c53d96e372fc96"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":499,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.930468,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"34b462fcfb1a129aeab9c10a58b9f7b0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620388,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OH0.YausyiUGjHdbgG-iQMqkMGyqvlLby_Q-f0jhobAnA-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b2f9d328-c6d9-4ae4-b413-0c2c46e558a9' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b01a7ad2-6d54-4ef6-ad7b-b5529654b811","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620388.087714} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"794019e8-cd77-46a9-b590-116c8f759ef9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620388.0933425} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0","responseTime":4,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b2b63f7b-03dd-42bf-a827-64273cbc4688' closed"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"0697461b-c8d9-4996-b2b1-e38c0dfa2ff9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620388.1079984} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"33b7c6b3-7213-4ab6-8815-8d71d653e5eb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620388.1082778} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.107946998Z"}]},"request_id":"18459bf8-8577-4505-b094-9e6148d472fa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620388.1377435} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0"} device-1 | {"level":"info","message":"POST /devices? 201 105ms","method":"POST","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0","responseTime":105,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"34b462fcfb1a129aeab9c10a58b9f7b0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OH0.YausyiUGjHdbgG-iQMqkMGyqvlLby_Q-f0jhobAnA-o","level":"info","message":"auth send jwt","requestID":"eeeff48904d5973f42c103ba1cd504f0"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eeeff48904d5973f42c103ba1cd504f0","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"eeeff48904d5973f42c103ba1cd504f0"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:48Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":500,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.87988,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:48Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"eeeff48904d5973f42c103ba1cd504f0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620388,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OH0.YausyiUGjHdbgG-iQMqkMGyqvlLby_Q-f0jhobAnA-o"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"eeeff48904d5973f42c103ba1cd504f0","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b307042a-50cd-4e11-9207-ed12b604d47b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620388.1919186} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eeeff48904d5973f42c103ba1cd504f0","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"38c1c0cc-c181-4ecd-9741-36ddfdb3848b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620388.1976411} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"eeeff48904d5973f42c103ba1cd504f0","responseTime":30,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"f1499427-315e-4f4a-a9c7-55377c985a8b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620388.2745779} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"09a5a8bd-2c3d-488c-837f-3f0298bf8cb9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620388.2748263} authorization-1 | {"level":"info","message":"POST /relations/update 200 79ms","method":"POST","requestID":"eeeff48904d5973f42c103ba1cd504f0","responseTime":79,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.274551544Z"}]},"request_id":"666a309e-c54e-4338-a731-b5e20d8f6862","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620388.279017} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"eeeff48904d5973f42c103ba1cd504f0","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"eeeff48904d5973f42c103ba1cd504f0"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.138","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eeeff48904d5973f42c103ba1cd504f0"} device-1 | {"level":"info","message":"POST /devices? 201 135ms","method":"POST","requestID":"eeeff48904d5973f42c103ba1cd504f0","responseTime":135,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI","level":"info","message":"auth send jwt","requestID":"798dfba5f5348f1c784ceec67d2c2d7d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"798dfba5f5348f1c784ceec67d2c2d7d","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"798dfba5f5348f1c784ceec67d2c2d7d"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":501,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.907484,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"798dfba5f5348f1c784ceec67d2c2d7d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620389,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"798dfba5f5348f1c784ceec67d2c2d7d","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.107946998Z"}]},"request_id":"1daac510-07b6-4b96-bd44-ca28959efbd9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620389.6871526} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"798dfba5f5348f1c784ceec67d2c2d7d","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"45bfa37e-19b3-45b3-a52d-3506e8d29b49","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620389.716984} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"798dfba5f5348f1c784ceec67d2c2d7d","responseTime":5,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI","level":"info","message":"auth send jwt","requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":502,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.393479,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620389,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"798dfba5f5348f1c784ceec67d2c2d7d"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.107946998Z"}]},"request_id":"41894cfc-f0a3-4368-8c5c-d9384411e740","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620389.764193} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"798dfba5f5348f1c784ceec67d2c2d7d","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.274551544Z"}]},"request_id":"1ce587c5-cd46-4c7e-8ffd-bf6084b7ac6b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620389.765479} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7","responseTime":3,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:18:59:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.096","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"798dfba5f5348f1c784ceec67d2c2d7d"} device-1 | {"level":"info","message":"PATCH /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464 200 91ms","method":"PATCH","requestID":"798dfba5f5348f1c784ceec67d2c2d7d","responseTime":91,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI","level":"info","message":"auth send jwt","requestID":"4b4c92e28c6fd7d1327f02a31b37f1a9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4b4c92e28c6fd7d1327f02a31b37f1a9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"4b4c92e28c6fd7d1327f02a31b37f1a9"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9854aeb3-68cf-4298-9dbe-022dcc9dfeef","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620389.7717195} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":503,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.836074,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"4b4c92e28c6fd7d1327f02a31b37f1a9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620389,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"4b4c92e28c6fd7d1327f02a31b37f1a9","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.274551544Z"}]},"request_id":"5f5b2be4-d8f9-480b-8db6-abe7c610a3b0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620389.8161201} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7"} gateway-1 | {"time_local":"02/Apr/2025:18:59:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/11b95692-51e7-434b-94fd-e7a3127d5672 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.098","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7"} device-1 | {"level":"info","message":"PATCH /devices/11b95692-51e7-434b-94fd-e7a3127d5672 200 94ms","method":"PATCH","requestID":"6f4e9eb0dde9529d9f6acde2dd6d16d7","responseTime":94,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI","level":"info","message":"auth send jwt","requestID":"47b2057b9583e5c15e8ddc64ef10dda7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"47b2057b9583e5c15e8ddc64ef10dda7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"47b2057b9583e5c15e8ddc64ef10dda7"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":504,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.87359,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"47b2057b9583e5c15e8ddc64ef10dda7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620389,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"47b2057b9583e5c15e8ddc64ef10dda7","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"4b4c92e28c6fd7d1327f02a31b37f1a9"} gateway-1 | {"time_local":"02/Apr/2025:18:59:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.061","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"4b4c92e28c6fd7d1327f02a31b37f1a9"} device-1 | {"level":"info","message":"POST /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/websocket 200 59ms","method":"POST","requestID":"4b4c92e28c6fd7d1327f02a31b37f1a9","responseTime":59,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"47b2057b9583e5c15e8ddc64ef10dda7"} gateway-1 | {"time_local":"02/Apr/2025:18:59:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/11b95692-51e7-434b-94fd-e7a3127d5672/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.053","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"47b2057b9583e5c15e8ddc64ef10dda7"} device-1 | {"level":"info","message":"POST /devices/11b95692-51e7-434b-94fd-e7a3127d5672/websocket 200 49ms","method":"POST","requestID":"47b2057b9583e5c15e8ddc64ef10dda7","responseTime":49,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI","level":"info","message":"auth send jwt","requestID":"68068fd07e3250c9eb2c37ad3b58ba05"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"68068fd07e3250c9eb2c37ad3b58ba05","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"68068fd07e3250c9eb2c37ad3b58ba05"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":505,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.859906,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"68068fd07e3250c9eb2c37ad3b58ba05","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620389,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"68068fd07e3250c9eb2c37ad3b58ba05","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.107946998Z"}]},"request_id":"c2ac3b7e-b40b-49bc-9640-c8b0289759e7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620389.9632635} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"68068fd07e3250c9eb2c37ad3b58ba05","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"68068fd07e3250c9eb2c37ad3b58ba05"} gateway-1 | {"time_local":"02/Apr/2025:18:59:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464? 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":"68068fd07e3250c9eb2c37ad3b58ba05"} device-1 | {"level":"info","message":"GET /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464? 200 13ms","method":"GET","requestID":"68068fd07e3250c9eb2c37ad3b58ba05","responseTime":13,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI","level":"info","message":"auth send jwt","requestID":"910b4fc8dc69dc0e05dd59e0946448d6"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"910b4fc8dc69dc0e05dd59e0946448d6","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"910b4fc8dc69dc0e05dd59e0946448d6"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:49Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":506,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.147629,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"910b4fc8dc69dc0e05dd59e0946448d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620389,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM4OX0.93aWhMFWgNnclXWZFGifw0pdzQ3_gkKmym5LQc8HGEI"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"910b4fc8dc69dc0e05dd59e0946448d6","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.274551544Z"}]},"request_id":"fdb90fa9-c728-4a31-9bc7-48c96ab6b2f7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.010266} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"910b4fc8dc69dc0e05dd59e0946448d6","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"910b4fc8dc69dc0e05dd59e0946448d6"} gateway-1 | {"time_local":"02/Apr/2025:18:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/11b95692-51e7-434b-94fd-e7a3127d5672? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"910b4fc8dc69dc0e05dd59e0946448d6"} device-1 | {"level":"info","message":"GET /devices/11b95692-51e7-434b-94fd-e7a3127d5672? 200 42ms","method":"GET","requestID":"910b4fc8dc69dc0e05dd59e0946448d6","responseTime":42,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg","level":"info","message":"auth send jwt","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":507,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":25.040851,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5aa4c841c2c9ffbc042dd13c5fd58592","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620390,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Attempting to run experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Attempting to book experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Successfully booked experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7432e00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7435510-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":508,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.901149,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a7432e00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620390,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a7432e00-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":509,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.691109,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a7435510-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620390,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a7435510-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.107946998Z"}]},"request_id":"a49c66bd-a1bf-4c83-9988-2a5af19ff86c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.1205235} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"a7432e00-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.274551544Z"}]},"request_id":"d43da510-4959-48c9-8870-0236ef904573","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.145677} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"a7435510-0ff4-11f0-acd3-db29ca75a471","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7432e00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464? 200 38ms","method":"GET","requestID":"a7432e00-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7435510-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/11b95692-51e7-434b-94fd-e7a3127d5672? 200 38ms","method":"GET","requestID":"a7435510-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Setting up experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Successfully set up experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7583ca0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7588ac0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a758d8e0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Successfully running experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":510,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.975337,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a7583ca0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620390,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a7583ca0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":511,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.814281,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a7588ac0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620390,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"a7588ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a8be014a-df2e-4ea2-b618-db7967e4bf3f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.2602792} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":512,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.345121,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a758d8e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","rebac_allow":false,"scope_allow":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":"a758d8e0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.107946998Z"}]},"request_id":"34b8b94e-e8a2-425d-963d-b667309ee59b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.2629335} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a758d8e0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"a7583ca0-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.274551544Z"}]},"request_id":"42e72a9c-6150-4903-85cb-71bb7ef05c8c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.2901587} device-1 | {"level":"info","message":"POST /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/signaling 200 37ms","method":"POST","requestID":"a758d8e0-0ff4-11f0-acd3-db29ca75a471","responseTime":37,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"a7588ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a75ef360-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7583ca0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464? 200 47ms","method":"GET","requestID":"a7583ca0-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F097744d7-d907-46cd-af11-252172fb62e9#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F097744d7-d907-46cd-af11-252172fb62e9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"d4df390c-1ba8-4179-992e-1eb54a0a356c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.2967396} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b8e8b87-b5e5-4218-9dac-0bf8052ebd0b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.2968018} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7588ac0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/11b95692-51e7-434b-94fd-e7a3127d5672? 200 46ms","method":"GET","requestID":"a7588ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672?"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ec10577d-8132-4498-a091-0ef49fc5f977","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.299558} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":513,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.007962,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a76004d0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a75ef360-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a75ef360-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a75ef360-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/11b95692-51e7-434b-94fd-e7a3127d5672/signaling 200 12ms","method":"POST","requestID":"a75ef360-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"524062fd-a6a3-4b3f-ae38-ee39c2e4e62a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.3092012} experiment-1 | {"level":"info","message":"POST /experiments? 201 288ms","method":"POST","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592","responseTime":288,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":514,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":6.424331,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} gateway-1 | {"time_local":"02/Apr/2025:18:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.292","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a76004d0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","rebac_allow":false,"scope_allow":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":"a76004d0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg","level":"info","message":"auth send jwt","requestID":"244ae62d3d5d4bd7eb532f071cdd11cf"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"244ae62d3d5d4bd7eb532f071cdd11cf","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a76004d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/signaling 200 41ms","method":"POST","requestID":"a76004d0-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"244ae62d3d5d4bd7eb532f071cdd11cf"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a7669480-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":515,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.8601,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"244ae62d3d5d4bd7eb532f071cdd11cf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620390,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"244ae62d3d5d4bd7eb532f071cdd11cf","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a421fe5-115c-452c-bad6-5e69df8c2195","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.350037} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":516,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.70491,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a7669480-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","rebac_allow":false,"scope_allow":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":"a7669480-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.107946998Z"}]},"request_id":"bea654d0-a383-4a26-813c-ba981a1fb5a7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.3519158} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"244ae62d3d5d4bd7eb532f071cdd11cf","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a7669480-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/11b95692-51e7-434b-94fd-e7a3127d5672/signaling 200 13ms","method":"POST","requestID":"a7669480-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"244ae62d3d5d4bd7eb532f071cdd11cf"} gateway-1 | {"time_local":"02/Apr/2025:18:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"244ae62d3d5d4bd7eb532f071cdd11cf"} device-1 | {"level":"info","message":"GET /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464? 200 16ms","method":"GET","requestID":"244ae62d3d5d4bd7eb532f071cdd11cf","responseTime":16,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Building connection plan","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} 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":"1434209f-31bf-4c3f-b625-597e6d667ccd"},{"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":"269f3c9a-9465-4d97-beea-4198a68c2bbe"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b74db364-5fbf-4ad7-a676-c45904e2776b"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} 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/a99a1af7-a11a-4b69-b6cb-62eac59bd464"},{"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/11b95692-51e7-434b-94fd-e7a3127d5672"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"a768de70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg","level":"info","message":"auth send jwt","requestID":"2afab982185c436247d620d976b148ca"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"2afab982185c436247d620d976b148ca","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":517,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.938455,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2afab982185c436247d620d976b148ca"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a768de70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620390,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a768de70-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":518,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947862,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2afab982185c436247d620d976b148ca","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620390,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5MH0.byUaFp9ylIdPtOYrVVmLfQDQcXyInY7V5CRITseKxpg"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"2afab982185c436247d620d976b148ca","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:48.274551544Z"}]},"request_id":"7fec237e-d3d8-4883-92b8-a1e6a30cdb4b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.398559} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2afab982185c436247d620d976b148ca","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2afab982185c436247d620d976b148ca"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"3d17ad25-20f0-46ee-88de-498f1afbf084","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.4028943} device-1 | {"level":"info","message":"GET /devices/11b95692-51e7-434b-94fd-e7a3127d5672? 200 15ms","method":"GET","requestID":"2afab982185c436247d620d976b148ca","responseTime":15,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5d54a5d1-1544-46a9-832c-b8cc9166ebf4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.403174} gateway-1 | {"time_local":"02/Apr/2025:18:59:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/11b95692-51e7-434b-94fd-e7a3127d5672? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2afab982185c436247d620d976b148ca"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"a768de70-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"a768de70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"a768de70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a'","requestID":"a768de70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a'","requestID":"a768de70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"a768de70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 85ms","method":"POST","requestID":"a768de70-0ff4-11f0-acd3-db29ca75a471","responseTime":85,"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":"a768de70-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5aa4c841c2c9ffbc042dd13c5fd58592"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a77eb060-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"db39041c-b1ec-4d4d-bbcc-2c7911e75442","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.5308492} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":519,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.063595,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a77eb060-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","rebac_allow":false,"scope_allow":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":"a77eb060-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a77eb060-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/signaling 200 33ms","method":"POST","requestID":"a77eb060-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a7840790-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ce19314f-9f93-44df-9e38-da2423c7d204","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620390.542204} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":520,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.608006,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a7840790-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a7840790-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a7840790-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/11b95692-51e7-434b-94fd-e7a3127d5672/signaling 200 10ms","method":"POST","requestID":"a7840790-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672/signaling"} device-1 | {"device":"11b95692-51e7-434b-94fd-e7a3127d5672","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"9d19b0cf-5643-4ced-9540-8575ff916a2a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a99a1af7-a11a-4b69-b6cb-62eac59bd464","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"9d19b0cf-5643-4ced-9540-8575ff916a2a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"a99a1af7-a11a-4b69-b6cb-62eac59bd464","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a99a1af7-a11a-4b69-b6cb-62eac59bd464","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a99a1af7-a11a-4b69-b6cb-62eac59bd464","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a99a1af7-a11a-4b69-b6cb-62eac59bd464","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/9d19b0cf-5643-4ced-9540-8575ff916a2a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9d19b0cf-5643-4ced-9540-8575ff916a2a","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b97080ba7d57753df10091edc7d4c162","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b97080ba7d57753df10091edc7d4c162","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/a99a1af7-a11a-4b69-b6cb-62eac59bd464"},{"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/11b95692-51e7-434b-94fd-e7a3127d5672"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a"}}},"level":"info","message":"received a callback","requestID":"b97080ba7d57753df10091edc7d4c162"} device-1 | {"device":"11b95692-51e7-434b-94fd-e7a3127d5672","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"11b95692-51e7-434b-94fd-e7a3127d5672","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"11b95692-51e7-434b-94fd-e7a3127d5672","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 11ms","method":"POST","requestID":"b97080ba7d57753df10091edc7d4c162","responseTime":11,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.014","http_referrer":"","http_user_agent":"node-fetch","requestID":"b97080ba7d57753df10091edc7d4c162"} device-1 | {"device":"a99a1af7-a11a-4b69-b6cb-62eac59bd464","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"9d19b0cf-5643-4ced-9540-8575ff916a2a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"11b95692-51e7-434b-94fd-e7a3127d5672","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a99a1af7-a11a-4b69-b6cb-62eac59bd464","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"11b95692-51e7-434b-94fd-e7a3127d5672","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"9d19b0cf-5643-4ced-9540-8575ff916a2a","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/9d19b0cf-5643-4ced-9540-8575ff916a2a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9d19b0cf-5643-4ced-9540-8575ff916a2a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6c7a0c2482bf77793050c7cac1b8b24e","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6c7a0c2482bf77793050c7cac1b8b24e","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/a99a1af7-a11a-4b69-b6cb-62eac59bd464"},{"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/11b95692-51e7-434b-94fd-e7a3127d5672"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a"}}},"level":"info","message":"received a callback","requestID":"6c7a0c2482bf77793050c7cac1b8b24e"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"a8bf46b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9d19b0cf-5643-4ced-9540-8575ff916a2a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0987f56d-4411-45b3-9955-5edbbbeaa783","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620392.6077933} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":521,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.821265,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a8bf46b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a","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":"a8bf46b0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"a8bf46b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a 200 9ms","method":"GET","requestID":"a8bf46b0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 56ms","method":"POST","requestID":"6c7a0c2482bf77793050c7cac1b8b24e","responseTime":56,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a8c735f0-0ff4-11f0-acd3-db29ca75a471"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.061","http_referrer":"","http_user_agent":"node-fetch","requestID":"6c7a0c2482bf77793050c7cac1b8b24e"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c5ac0782-8b4b-470a-b5f0-b36ec0bcd063","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620392.6605875} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":522,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.36537,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a8c735f0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a8c735f0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5Mn0.FT6dhKnwi81SAjsqYx9nNeoMrm7BVyqkDPnvtdIqfWA","level":"info","message":"auth send jwt","requestID":"f2353ae7b8e6fd853f367c99da312faa"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"f2353ae7b8e6fd853f367c99da312faa","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a8c735f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/signaling 200 34ms","method":"POST","requestID":"a8c735f0-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/signaling"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/097744d7-d907-46cd-af11-252172fb62e9","requestID":"f2353ae7b8e6fd853f367c99da312faa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a8ccb430-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":523,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.904783,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f2353ae7b8e6fd853f367c99da312faa","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620392,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5Mn0.FT6dhKnwi81SAjsqYx9nNeoMrm7BVyqkDPnvtdIqfWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f2353ae7b8e6fd853f367c99da312faa","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"14fddf7a-c0f0-4372-97f5-2cc995ea1196","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620392.6976926} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":524,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.213411,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a8ccb430-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"a8ccb430-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/097744d7-d907-46cd-af11-252172fb62e9","requestID":"f2353ae7b8e6fd853f367c99da312faa"} gateway-1 | {"time_local":"02/Apr/2025:18:59:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/097744d7-d907-46cd-af11-252172fb62e9 HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.041","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f2353ae7b8e6fd853f367c99da312faa"} experiment-1 | {"level":"info","message":"GET /experiments/097744d7-d907-46cd-af11-252172fb62e9 200 12ms","method":"GET","requestID":"f2353ae7b8e6fd853f367c99da312faa","responseTime":12,"status":200,"url":"/experiments/097744d7-d907-46cd-af11-252172fb62e9"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a8ccb430-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/11b95692-51e7-434b-94fd-e7a3127d5672/signaling 200 12ms","method":"POST","requestID":"a8ccb430-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5Mn0.FT6dhKnwi81SAjsqYx9nNeoMrm7BVyqkDPnvtdIqfWA","level":"info","message":"auth send jwt","requestID":"5546b936b3ad17ead2e84200b0dd3d6e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5546b936b3ad17ead2e84200b0dd3d6e","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/097744d7-d907-46cd-af11-252172fb62e9","requestID":"5546b936b3ad17ead2e84200b0dd3d6e"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":525,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.956921,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5546b936b3ad17ead2e84200b0dd3d6e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620392,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5Mn0.FT6dhKnwi81SAjsqYx9nNeoMrm7BVyqkDPnvtdIqfWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"5546b936b3ad17ead2e84200b0dd3d6e","responseTime":28,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Attempting to finish experiment","requestID":"5546b936b3ad17ead2e84200b0dd3d6e"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"a8d4ca80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":526,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.135298,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a8d4ca80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620392,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5Mn0.FT6dhKnwi81SAjsqYx9nNeoMrm7BVyqkDPnvtdIqfWA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a8d4ca80-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"a99a1af7-a11a-4b69-b6cb-62eac59bd464","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a99a1af7-a11a-4b69-b6cb-62eac59bd464","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"a99a1af7-a11a-4b69-b6cb-62eac59bd464","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"11b95692-51e7-434b-94fd-e7a3127d5672","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"11b95692-51e7-434b-94fd-e7a3127d5672","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"11b95692-51e7-434b-94fd-e7a3127d5672","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/9d19b0cf-5643-4ced-9540-8575ff916a2a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"9d19b0cf-5643-4ced-9540-8575ff916a2a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9d19b0cf-5643-4ced-9540-8575ff916a2a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F9d19b0cf-5643-4ced-9540-8575ff916a2a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"8ee082ab-e4af-4fbc-b904-31bc1ad26bb1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620392.7861965} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8726a614-c518-46f2-b62d-662321638657","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620392.7866552} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0800c363eaf62210ff41135c93dcbfce","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0800c363eaf62210ff41135c93dcbfce","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"a8d4ca80-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf0adf664470f6e83ea70085bda717da","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cf0adf664470f6e83ea70085bda717da","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/a99a1af7-a11a-4b69-b6cb-62eac59bd464"},{"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/11b95692-51e7-434b-94fd-e7a3127d5672"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a"}}},"level":"info","message":"received a callback","requestID":"0800c363eaf62210ff41135c93dcbfce"} 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/a99a1af7-a11a-4b69-b6cb-62eac59bd464"},{"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/11b95692-51e7-434b-94fd-e7a3127d5672"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a"}}},"level":"info","message":"received a callback","requestID":"cf0adf664470f6e83ea70085bda717da"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"a8d4ca80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a 204 58ms","method":"DELETE","requestID":"a8d4ca80-0ff4-11f0-acd3-db29ca75a471","responseTime":58,"status":204,"url":"/peerconnections/9d19b0cf-5643-4ced-9540-8575ff916a2a"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/097744d7-d907-46cd-af11-252172fb62e9"},"level":"info","message":"Successfully finished experiment","requestID":"5546b936b3ad17ead2e84200b0dd3d6e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a8e4a900-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fa99a1af7-a11a-4b69-b6cb-62eac59bd464","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"299cd719-4132-4b80-a8bd-a18bcb266b85","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620392.853495} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":527,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.879243,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a8e4a900-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a8e4a900-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F097744d7-d907-46cd-af11-252172fb62e9': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F097744d7-d907-46cd-af11-252172fb62e9","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"f0cf4e7f-0431-41e2-8e61-dc4ade00177e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620392.883046} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a8e4a900-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"754d63b1-eab9-41f0-9832-256b6b939159","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620392.8833392} device-1 | {"level":"info","message":"POST /devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/signaling 200 36ms","method":"POST","requestID":"a8e4a900-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"5546b936b3ad17ead2e84200b0dd3d6e","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"a8ea7560-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F11b95692-51e7-434b-94fd-e7a3127d5672","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"442e3637-5755-4b07-8b0c-1590052cf5a2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620392.8912315} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":528,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.843088,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a8ea7560-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"a8ea7560-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"a8ea7560-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/11b95692-51e7-434b-94fd-e7a3127d5672/signaling 200 10ms","method":"POST","requestID":"a8ea7560-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/11b95692-51e7-434b-94fd-e7a3127d5672/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/097744d7-d907-46cd-af11-252172fb62e9","requestID":"5546b936b3ad17ead2e84200b0dd3d6e"} gateway-1 | {"time_local":"02/Apr/2025:18:59:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/097744d7-d907-46cd-af11-252172fb62e9 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.344","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5546b936b3ad17ead2e84200b0dd3d6e"} experiment-1 | {"level":"info","message":"DELETE /experiments/097744d7-d907-46cd-af11-252172fb62e9 204 366ms","method":"DELETE","requestID":"5546b936b3ad17ead2e84200b0dd3d6e","responseTime":366,"status":204,"url":"/experiments/097744d7-d907-46cd-af11-252172fb62e9"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 286ms","method":"POST","requestID":"0800c363eaf62210ff41135c93dcbfce","responseTime":286,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"3.242","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"82095bfbc99f76fe375ed74eb91807fe"} gateway-1 | {"time_local":"02/Apr/2025:18:59:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"3.200","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"4bf22a3f2a7172c5d72b8c4ab13b3925"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.290","http_referrer":"","http_user_agent":"node-fetch","requestID":"0800c363eaf62210ff41135c93dcbfce"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 285ms","method":"POST","requestID":"cf0adf664470f6e83ea70085bda717da","responseTime":285,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.291","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf0adf664470f6e83ea70085bda717da"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5M30.dxOG7m3iC6z4-HZEE-f2D3UbuT-OVVy6Jh2eTdBWBs8","level":"info","message":"auth send jwt","requestID":"3b217bfd0ee696df3a76fe7882df2282"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"3b217bfd0ee696df3a76fe7882df2282","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"3b217bfd0ee696df3a76fe7882df2282"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/a99a1af7-a11a-4b69-b6cb-62eac59bd464' closed"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":529,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.873557,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3b217bfd0ee696df3a76fe7882df2282","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620393,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5M30.dxOG7m3iC6z4-HZEE-f2D3UbuT-OVVy6Jh2eTdBWBs8"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3b217bfd0ee696df3a76fe7882df2282","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/11b95692-51e7-434b-94fd-e7a3127d5672' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"0f08a083-5595-41e2-a81c-b8065822d9e7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620393.1785748} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3b217bfd0ee696df3a76fe7882df2282","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"91b8040a-f38a-4b7d-9e09-368562809d07","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620393.1843326} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"3b217bfd0ee696df3a76fe7882df2282","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"d5740b39-7a8d-4545-91f2-6b8d03079a74","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620393.2228038} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"12c48580-a832-4e79-8557-a4d88f08144c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620393.2229612} authorization-1 | {"level":"info","message":"POST /relations/update 200 41ms","method":"POST","requestID":"3b217bfd0ee696df3a76fe7882df2282","responseTime":41,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.222779987Z"}]},"request_id":"f4fb7cdc-012e-4614-8821-e67f4847f532","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620393.228071} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3b217bfd0ee696df3a76fe7882df2282","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3b217bfd0ee696df3a76fe7882df2282"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.142","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3b217bfd0ee696df3a76fe7882df2282"} device-1 | {"level":"info","message":"POST /devices? 201 134ms","method":"POST","requestID":"3b217bfd0ee696df3a76fe7882df2282","responseTime":134,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5M30.dxOG7m3iC6z4-HZEE-f2D3UbuT-OVVy6Jh2eTdBWBs8","level":"info","message":"auth send jwt","requestID":"ae03c53a498c7b80acf1f6d4a65371f7"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"ae03c53a498c7b80acf1f6d4a65371f7","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"ae03c53a498c7b80acf1f6d4a65371f7"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:53Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":530,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.002402,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ae03c53a498c7b80acf1f6d4a65371f7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620393,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5M30.dxOG7m3iC6z4-HZEE-f2D3UbuT-OVVy6Jh2eTdBWBs8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"ae03c53a498c7b80acf1f6d4a65371f7","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b2b0d71c-b598-4946-ba36-793d4dc43253","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620393.2884822} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"ae03c53a498c7b80acf1f6d4a65371f7","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d86e459a-c8fd-43e2-8771-1e9f7e1496ba","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620393.3172047} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"ae03c53a498c7b80acf1f6d4a65371f7","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"82c7f22f-0fbc-45d4-8477-ae39a9412244","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620393.333933} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b422cab7-eaa1-4f4f-9d0d-a98924685a7d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620393.334168} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"ae03c53a498c7b80acf1f6d4a65371f7","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.333905097Z"}]},"request_id":"8435378e-1054-46a1-ba86-f924f596290e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620393.3622847} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"ae03c53a498c7b80acf1f6d4a65371f7","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ae03c53a498c7b80acf1f6d4a65371f7"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ae03c53a498c7b80acf1f6d4a65371f7"} device-1 | {"level":"info","message":"POST /devices? 201 128ms","method":"POST","requestID":"ae03c53a498c7b80acf1f6d4a65371f7","responseTime":128,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY","level":"info","message":"auth send jwt","requestID":"f65f6297d38beb00a61cb00b0cdf0689"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f65f6297d38beb00a61cb00b0cdf0689","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f65f6297d38beb00a61cb00b0cdf0689"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY","level":"info","message":"auth send jwt","requestID":"90ae04a5bbedb054a6ab7ae1c27392a8"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"90ae04a5bbedb054a6ab7ae1c27392a8","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:54Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"90ae04a5bbedb054a6ab7ae1c27392a8"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":531,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.962267,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f65f6297d38beb00a61cb00b0cdf0689","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620394,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f65f6297d38beb00a61cb00b0cdf0689","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:54Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":532,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804475,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"90ae04a5bbedb054a6ab7ae1c27392a8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620394,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"90ae04a5bbedb054a6ab7ae1c27392a8","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.333905097Z"}]},"request_id":"d46569aa-6a1e-453d-878f-e7800fb44321","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620394.7715104} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f65f6297d38beb00a61cb00b0cdf0689","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.222779987Z"}]},"request_id":"df3b1ed3-1425-4632-9deb-9a0ef812741d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620394.7747655} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"90ae04a5bbedb054a6ab7ae1c27392a8","responseTime":30,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8b38ab82-5139-40f3-b280-4928aacc3e4a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620394.7767305} authorization-1 | {"level":"info","message":"POST /relations/update 200 30ms","method":"POST","requestID":"f65f6297d38beb00a61cb00b0cdf0689","responseTime":30,"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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2917c473-65f5-47d9-9929-eeabf1b333ae","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620394.8068483} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"90ae04a5bbedb054a6ab7ae1c27392a8","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.333905097Z"}]},"request_id":"ab202571-fbd2-42ea-aac6-7bd892a93dfc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620394.818951} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"f65f6297d38beb00a61cb00b0cdf0689","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f65f6297d38beb00a61cb00b0cdf0689"} gateway-1 | {"time_local":"02/Apr/2025:18:59:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.064","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"f65f6297d38beb00a61cb00b0cdf0689"} device-1 | {"level":"info","message":"PATCH /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa 200 60ms","method":"PATCH","requestID":"f65f6297d38beb00a61cb00b0cdf0689","responseTime":60,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY","level":"info","message":"auth send jwt","requestID":"a252cb1da5d4dfa618ed0fc76ff5efd1"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a252cb1da5d4dfa618ed0fc76ff5efd1","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"a252cb1da5d4dfa618ed0fc76ff5efd1"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:54Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":533,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.616565,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a252cb1da5d4dfa618ed0fc76ff5efd1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620394,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"a252cb1da5d4dfa618ed0fc76ff5efd1","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.222779987Z"}]},"request_id":"b44c3d1e-df75-41ef-8aa7-908bb98d72cf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620394.8522804} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"90ae04a5bbedb054a6ab7ae1c27392a8","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"90ae04a5bbedb054a6ab7ae1c27392a8"} gateway-1 | {"time_local":"02/Apr/2025:18:59:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/68616e24-d689-477f-9de5-f9e6728c1a0a HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.094","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"90ae04a5bbedb054a6ab7ae1c27392a8"} device-1 | {"level":"info","message":"PATCH /devices/68616e24-d689-477f-9de5-f9e6728c1a0a 200 91ms","method":"PATCH","requestID":"90ae04a5bbedb054a6ab7ae1c27392a8","responseTime":91,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY","level":"info","message":"auth send jwt","requestID":"c823b4c7fce3005382eaa435a4e65317"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c823b4c7fce3005382eaa435a4e65317","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"c823b4c7fce3005382eaa435a4e65317"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:54Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":534,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.791071,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:54Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c823b4c7fce3005382eaa435a4e65317","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620394,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"c823b4c7fce3005382eaa435a4e65317","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"a252cb1da5d4dfa618ed0fc76ff5efd1"} gateway-1 | {"time_local":"02/Apr/2025:18:59:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"a252cb1da5d4dfa618ed0fc76ff5efd1"} device-1 | {"level":"info","message":"POST /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/websocket 200 17ms","method":"POST","requestID":"a252cb1da5d4dfa618ed0fc76ff5efd1","responseTime":17,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"c823b4c7fce3005382eaa435a4e65317"} gateway-1 | {"time_local":"02/Apr/2025:18:59:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/68616e24-d689-477f-9de5-f9e6728c1a0a/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.049","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"c823b4c7fce3005382eaa435a4e65317"} device-1 | {"level":"info","message":"POST /devices/68616e24-d689-477f-9de5-f9e6728c1a0a/websocket 200 46ms","method":"POST","requestID":"c823b4c7fce3005382eaa435a4e65317","responseTime":46,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY","level":"info","message":"auth send jwt","requestID":"39294d6dff6f630658bb6a69891acafd"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"39294d6dff6f630658bb6a69891acafd","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"39294d6dff6f630658bb6a69891acafd"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:54Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":535,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917934,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:54Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"39294d6dff6f630658bb6a69891acafd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620394,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"39294d6dff6f630658bb6a69891acafd","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.222779987Z"}]},"request_id":"cf959274-6515-4f46-89a6-dabf463d1768","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620394.9659357} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"39294d6dff6f630658bb6a69891acafd","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"39294d6dff6f630658bb6a69891acafd"} gateway-1 | {"time_local":"02/Apr/2025:18:59:54 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/68616e24-d689-477f-9de5-f9e6728c1a0a? 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":"39294d6dff6f630658bb6a69891acafd"} device-1 | {"level":"info","message":"GET /devices/68616e24-d689-477f-9de5-f9e6728c1a0a? 200 36ms","method":"GET","requestID":"39294d6dff6f630658bb6a69891acafd","responseTime":36,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY","level":"info","message":"auth send jwt","requestID":"7c6edec1491bd8987aa44600cd0ab848"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7c6edec1491bd8987aa44600cd0ab848","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7c6edec1491bd8987aa44600cd0ab848"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":536,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854268,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c6edec1491bd8987aa44600cd0ab848","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620394,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NH0.LhwxulSi7CmBg0x8sFY281H7ErNVA_tCjFnYml0kweY"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7c6edec1491bd8987aa44600cd0ab848","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.333905097Z"}]},"request_id":"b1e2e6f4-92af-4827-991e-27ba987ae9d7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.0067208} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"7c6edec1491bd8987aa44600cd0ab848","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7c6edec1491bd8987aa44600cd0ab848"} gateway-1 | {"time_local":"02/Apr/2025:18:59:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa? 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":"7c6edec1491bd8987aa44600cd0ab848"} device-1 | {"level":"info","message":"GET /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa? 200 11ms","method":"GET","requestID":"7c6edec1491bd8987aa44600cd0ab848","responseTime":11,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8","level":"info","message":"auth send jwt","requestID":"e4056030c352c8677622455a9a2c38b3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4056030c352c8677622455a9a2c38b3","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e4056030c352c8677622455a9a2c38b3"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":537,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.817284,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e4056030c352c8677622455a9a2c38b3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620395,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4056030c352c8677622455a9a2c38b3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Attempting to run experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Attempting to book experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Successfully booked experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aa3d8240-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aa3dd060-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":538,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.70457,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa3d8240-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620395,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"aa3d8240-0ff4-11f0-acd3-db29ca75a471","responseTime":27,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":539,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.644584,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa3dd060-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620395,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"aa3dd060-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.222779987Z"}]},"request_id":"b016e96e-876a-4e27-b6d6-357b24f685c9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.1407301} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aa3d8240-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.333905097Z"}]},"request_id":"c9d8a8bb-6dfe-43e4-b21a-b8549a11e936","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.141641} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aa3dd060-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aa3d8240-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/68616e24-d689-477f-9de5-f9e6728c1a0a? 200 38ms","method":"GET","requestID":"aa3d8240-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aa3dd060-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa? 200 36ms","method":"GET","requestID":"aa3dd060-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Setting up experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Successfully set up experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aa530610-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aa532d20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aa537b40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":540,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.870108,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Successfully running experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa530610-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620395,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"aa530610-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":541,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.634409,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa532d20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620395,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"aa532d20-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"88cc253b-a712-49b6-804f-aabd69f1831e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.283388} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":542,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.135349,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa537b40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","rebac_allow":false,"scope_allow":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":"aa537b40-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.222779987Z"}]},"request_id":"aba86731-4a5b-49d6-8437-18ef44b4fcb2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.2886853} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aa537b40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"aa530610-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.333905097Z"}]},"request_id":"509cb27a-201a-499f-be4b-2b9bd73b0866","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.291632} device-1 | {"level":"info","message":"POST /devices/68616e24-d689-477f-9de5-f9e6728c1a0a/signaling 200 40ms","method":"POST","requestID":"aa537b40-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"aa532d20-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aa5a0af0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aa530610-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/68616e24-d689-477f-9de5-f9e6728c1a0a? 200 49ms","method":"GET","requestID":"aa530610-0ff4-11f0-acd3-db29ca75a471","responseTime":49,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aa532d20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa? 200 48ms","method":"GET","requestID":"aa532d20-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7c17b2d5-d74b-4c91-8611-adb64700931e#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7c17b2d5-d74b-4c91-8611-adb64700931e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"e92b1d22-3ccc-4d88-ba65-10e64116d379","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.2986875} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e2bdb61b-4df7-4804-b5f5-5b75032b7bca","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.2993453} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aa5af550-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/update 200 22ms","method":"POST","requestID":"e4056030c352c8677622455a9a2c38b3","responseTime":22,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0212857-8c59-4171-82b8-a187f1269a09","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.3020577} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":543,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.174023,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa5a0af0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","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":"aa5a0af0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/signaling 200 11ms","method":"POST","requestID":"aa5a0af0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"aa5a0af0-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33393de9-df14-42e4-a671-42edb5800851","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.3303382} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":544,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.350287,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa5af550-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","rebac_allow":false,"scope_allow":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":"aa5af550-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 317ms","method":"POST","requestID":"e4056030c352c8677622455a9a2c38b3","responseTime":317,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:18:59:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1295","request_time":"0.322","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4056030c352c8677622455a9a2c38b3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aa5af550-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/68616e24-d689-477f-9de5-f9e6728c1a0a/signaling 200 35ms","method":"POST","requestID":"aa5af550-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8","level":"info","message":"auth send jwt","requestID":"1bb7d77d9a3e7fbcfb0919ef34f105da"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"1bb7d77d9a3e7fbcfb0919ef34f105da","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aa609aa0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1bb7d77d9a3e7fbcfb0919ef34f105da"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Received request.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:35112","level":"info","msg":"Sent response.","req_id":546,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.877397,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1bb7d77d9a3e7fbcfb0919ef34f105da","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620395,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1bb7d77d9a3e7fbcfb0919ef34f105da","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1a2481fd-f84c-4b9a-820b-fc94c9e65e82","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.3431797} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":545,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.942271,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa609aa0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"aa609aa0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.222779987Z"}]},"request_id":"3b10b054-3569-41f2-9a15-d188354e427b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.347445} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aa609aa0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/signaling 200 10ms","method":"POST","requestID":"aa609aa0-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/signaling"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1bb7d77d9a3e7fbcfb0919ef34f105da","responseTime":3,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Building connection plan","requestID":"e4056030c352c8677622455a9a2c38b3"} 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":"712043af-91f5-442a-a879-ef3119eb4ee4"},{"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":"580d401e-cd65-48fc-9a8a-2f9d3b068f6f"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"c7ef0b0a-5dfa-43d1-9b3c-f67df3f5f12c"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e4056030c352c8677622455a9a2c38b3"} 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/68616e24-d689-477f-9de5-f9e6728c1a0a"},{"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/b150eaa6-479b-44e1-b769-d07e67a1d0aa"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e4056030c352c8677622455a9a2c38b3"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1bb7d77d9a3e7fbcfb0919ef34f105da"} gateway-1 | {"time_local":"02/Apr/2025:18:59:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/68616e24-d689-477f-9de5-f9e6728c1a0a? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1bb7d77d9a3e7fbcfb0919ef34f105da"} device-1 | {"level":"info","message":"GET /devices/68616e24-d689-477f-9de5-f9e6728c1a0a? 200 37ms","method":"GET","requestID":"1bb7d77d9a3e7fbcfb0919ef34f105da","responseTime":37,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a?"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":547,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.778888,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620395,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8","level":"info","message":"auth send jwt","requestID":"c95cca4f3cf0bc0b24e262ce8da03beb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c95cca4f3cf0bc0b24e262ce8da03beb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c95cca4f3cf0bc0b24e262ce8da03beb"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":548,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.038314,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c95cca4f3cf0bc0b24e262ce8da03beb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620395,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5NX0.yF679Uho8G-jma-BUlip0ON-7fj5T4xwWC55EYbdQa8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c95cca4f3cf0bc0b24e262ce8da03beb","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"5775514b-b6f4-473e-867c-78518c4d9763","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.3907092} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2c067999-405c-4adb-a46e-8fe2aa1c5387","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.3910842} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:53.333905097Z"}]},"request_id":"89618f44-6afe-46a7-86ff-911bbc8bd610","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.3917632} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"c95cca4f3cf0bc0b24e262ce8da03beb","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c95cca4f3cf0bc0b24e262ce8da03beb"} gateway-1 | {"time_local":"02/Apr/2025:18:59:55 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa? 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":"c95cca4f3cf0bc0b24e262ce8da03beb"} device-1 | {"level":"info","message":"GET /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa? 200 15ms","method":"GET","requestID":"c95cca4f3cf0bc0b24e262ce8da03beb","responseTime":15,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf'","requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf'","requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 87ms","method":"POST","requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471","responseTime":87,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"aa629670-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e4056030c352c8677622455a9a2c38b3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aa7d7170-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e76d0af1-924e-4862-bbd2-21a33918f2ae","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.53135} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":549,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.366165,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa7d7170-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"aa7d7170-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aa7d7170-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/68616e24-d689-477f-9de5-f9e6728c1a0a/signaling 200 9ms","method":"POST","requestID":"aa7d7170-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"aa7ef810-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cd1221ea-b37f-458c-9710-b724f8dca968","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620395.5416455} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":550,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.79727,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:55Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aa7ef810-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"aa7ef810-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"aa7ef810-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/signaling 200 33ms","method":"POST","requestID":"aa7ef810-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/signaling"} device-1 | {"device":"b150eaa6-479b-44e1-b769-d07e67a1d0aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"2a7f30c9-ec49-4414-83f4-8b01978b15cf","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"68616e24-d689-477f-9de5-f9e6728c1a0a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"2a7f30c9-ec49-4414-83f4-8b01978b15cf","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"68616e24-d689-477f-9de5-f9e6728c1a0a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"68616e24-d689-477f-9de5-f9e6728c1a0a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"68616e24-d689-477f-9de5-f9e6728c1a0a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"68616e24-d689-477f-9de5-f9e6728c1a0a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/2a7f30c9-ec49-4414-83f4-8b01978b15cf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2a7f30c9-ec49-4414-83f4-8b01978b15cf","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"71be8cf154332811112fa81579a16979","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"71be8cf154332811112fa81579a16979","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/68616e24-d689-477f-9de5-f9e6728c1a0a"},{"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/b150eaa6-479b-44e1-b769-d07e67a1d0aa"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf"}}},"level":"info","message":"received a callback","requestID":"71be8cf154332811112fa81579a16979"} device-1 | {"device":"b150eaa6-479b-44e1-b769-d07e67a1d0aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b150eaa6-479b-44e1-b769-d07e67a1d0aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b150eaa6-479b-44e1-b769-d07e67a1d0aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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 31ms","method":"POST","requestID":"71be8cf154332811112fa81579a16979","responseTime":31,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.033","http_referrer":"","http_user_agent":"node-fetch","requestID":"71be8cf154332811112fa81579a16979"} device-1 | {"data":{"peerconnection":"2a7f30c9-ec49-4414-83f4-8b01978b15cf","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"68616e24-d689-477f-9de5-f9e6728c1a0a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b150eaa6-479b-44e1-b769-d07e67a1d0aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"68616e24-d689-477f-9de5-f9e6728c1a0a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b150eaa6-479b-44e1-b769-d07e67a1d0aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"2a7f30c9-ec49-4414-83f4-8b01978b15cf","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/2a7f30c9-ec49-4414-83f4-8b01978b15cf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2a7f30c9-ec49-4414-83f4-8b01978b15cf","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8e0086cc98870100cf271a3400de54c8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8e0086cc98870100cf271a3400de54c8","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/68616e24-d689-477f-9de5-f9e6728c1a0a"},{"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/b150eaa6-479b-44e1-b769-d07e67a1d0aa"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf"}}},"level":"info","message":"received a callback","requestID":"8e0086cc98870100cf271a3400de54c8"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"abc051b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:57Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a7f30c9-ec49-4414-83f4-8b01978b15cf","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7a208f6-4859-4c6b-bcfb-7e8995ab1158","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620397.6475258} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":551,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.491043,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"abc051b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf","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":"abc051b0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"abc051b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf 200 10ms","method":"GET","requestID":"abc051b0-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5N30.ZNVSfWfu_gHsRw4K1R0FRyqspDJr8vfy-h77Z8fyezo","level":"info","message":"auth send jwt","requestID":"378cb7502fd63eddc5dd1f359525f95b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"378cb7502fd63eddc5dd1f359525f95b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7c17b2d5-d74b-4c91-8611-adb64700931e","requestID":"378cb7502fd63eddc5dd1f359525f95b"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:57Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":552,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.937966,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"378cb7502fd63eddc5dd1f359525f95b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620397,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5N30.ZNVSfWfu_gHsRw4K1R0FRyqspDJr8vfy-h77Z8fyezo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"378cb7502fd63eddc5dd1f359525f95b","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 65ms","method":"POST","requestID":"8e0086cc98870100cf271a3400de54c8","responseTime":65,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.068","http_referrer":"","http_user_agent":"node-fetch","requestID":"8e0086cc98870100cf271a3400de54c8"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"abcd7110-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:57Z"} gateway-1 | {"time_local":"02/Apr/2025:18:59:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7c17b2d5-d74b-4c91-8611-adb64700931e HTTP/1.1","status": "200","body_bytes_sent":"1368","request_time":"0.040","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"378cb7502fd63eddc5dd1f359525f95b"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7c17b2d5-d74b-4c91-8611-adb64700931e","requestID":"378cb7502fd63eddc5dd1f359525f95b"} experiment-1 | {"level":"info","message":"GET /experiments/7c17b2d5-d74b-4c91-8611-adb64700931e 200 36ms","method":"GET","requestID":"378cb7502fd63eddc5dd1f359525f95b","responseTime":36,"status":200,"url":"/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2d09206-b2f5-49de-b22b-cabd984f864c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620397.7359464} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":553,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.196546,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"abcd7110-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","rebac_allow":false,"scope_allow":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":"abcd7110-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5N30.ZNVSfWfu_gHsRw4K1R0FRyqspDJr8vfy-h77Z8fyezo","level":"info","message":"auth send jwt","requestID":"33acc8ef61d681e91f2731967122f24d"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"33acc8ef61d681e91f2731967122f24d","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7c17b2d5-d74b-4c91-8611-adb64700931e","requestID":"33acc8ef61d681e91f2731967122f24d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"abcd7110-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/68616e24-d689-477f-9de5-f9e6728c1a0a/signaling 200 12ms","method":"POST","requestID":"abcd7110-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:57Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":554,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.978907,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:57Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"abcfbb00-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"33acc8ef61d681e91f2731967122f24d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620397,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5N30.ZNVSfWfu_gHsRw4K1R0FRyqspDJr8vfy-h77Z8fyezo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"33acc8ef61d681e91f2731967122f24d","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:57Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4babf3d-3242-4054-b698-86d8b7fe2687","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620397.7484522} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":555,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.418978,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:57Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Attempting to finish experiment","requestID":"33acc8ef61d681e91f2731967122f24d"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"abcfbb00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"abcfbb00-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"abd0f380-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:57Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"abcfbb00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/signaling 200 34ms","method":"POST","requestID":"abcfbb00-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":556,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.651954,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:57Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"abd0f380-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620397,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5N30.ZNVSfWfu_gHsRw4K1R0FRyqspDJr8vfy-h77Z8fyezo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"abd0f380-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"device":"b150eaa6-479b-44e1-b769-d07e67a1d0aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b150eaa6-479b-44e1-b769-d07e67a1d0aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"b150eaa6-479b-44e1-b769-d07e67a1d0aa","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/2a7f30c9-ec49-4414-83f4-8b01978b15cf' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2a7f30c9-ec49-4414-83f4-8b01978b15cf","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a7f30c9-ec49-4414-83f4-8b01978b15cf': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2a7f30c9-ec49-4414-83f4-8b01978b15cf","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"7e512a53-455f-468e-b13b-10e829cd9241","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620397.7907257} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35f72331-3e3a-4c70-98d6-107a0225dbb5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620397.7910864} device-1 | {"device":"68616e24-d689-477f-9de5-f9e6728c1a0a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"68616e24-d689-477f-9de5-f9e6728c1a0a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"68616e24-d689-477f-9de5-f9e6728c1a0a","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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":"5ee83818efd8d5b0e7cc726ed0558086","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5ee83818efd8d5b0e7cc726ed0558086","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"abd0f380-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"89ae2b2b405a086bd23248e1cbe28730","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","driver":"device1","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","driver":"device1","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a"},{"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/b150eaa6-479b-44e1-b769-d07e67a1d0aa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf"}}},"level":"info","message":"received a callback","requestID":"5ee83818efd8d5b0e7cc726ed0558086"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"89ae2b2b405a086bd23248e1cbe28730","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/68616e24-d689-477f-9de5-f9e6728c1a0a"},{"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/b150eaa6-479b-44e1-b769-d07e67a1d0aa"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf"}}},"level":"info","message":"received a callback","requestID":"89ae2b2b405a086bd23248e1cbe28730"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"abd0f380-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf 204 290ms","method":"DELETE","requestID":"abd0f380-0ff4-11f0-acd3-db29ca75a471","responseTime":290,"status":204,"url":"/peerconnections/2a7f30c9-ec49-4414-83f4-8b01978b15cf"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"},"level":"info","message":"Successfully finished experiment","requestID":"33acc8ef61d681e91f2731967122f24d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ac034e20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:58Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F68616e24-d689-477f-9de5-f9e6728c1a0a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"32450e4f-e4c4-49ff-9569-fbed46ee9d4a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.0865593} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":557,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.189585,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ac034e20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ac034e20-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ac034e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/68616e24-d689-477f-9de5-f9e6728c1a0a/signaling 200 33ms","method":"POST","requestID":"ac034e20-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/devices/68616e24-d689-477f-9de5-f9e6728c1a0a/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ac087e40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:58Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb150eaa6-479b-44e1-b769-d07e67a1d0aa","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b177704b-6402-46dc-b3f1-e3aea0deb299","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.120692} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":558,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.303955,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:58Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ac087e40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"ac087e40-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7c17b2d5-d74b-4c91-8611-adb64700931e': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7c17b2d5-d74b-4c91-8611-adb64700931e","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"5f0a017f-73bf-463f-96f3-f44375af65cc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.124376} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ac087e40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4a72cab8-6553-4b75-aeba-66f624336eb1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.1246817} device-1 | {"level":"info","message":"POST /devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/signaling 200 8ms","method":"POST","requestID":"ac087e40-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"33acc8ef61d681e91f2731967122f24d","responseTime":45,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7c17b2d5-d74b-4c91-8611-adb64700931e","requestID":"33acc8ef61d681e91f2731967122f24d"} gateway-1 | {"time_local":"02/Apr/2025:18:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7c17b2d5-d74b-4c91-8611-adb64700931e HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.583","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"33acc8ef61d681e91f2731967122f24d"} experiment-1 | {"level":"info","message":"DELETE /experiments/7c17b2d5-d74b-4c91-8611-adb64700931e 204 580ms","method":"DELETE","requestID":"33acc8ef61d681e91f2731967122f24d","responseTime":580,"status":204,"url":"/experiments/7c17b2d5-d74b-4c91-8611-adb64700931e"} gateway-1 | {"time_local":"02/Apr/2025:18:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2789","request_time":"3.413","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"0548cc1523dd503c1843e55ccc145249"} gateway-1 | {"time_local":"02/Apr/2025:18:59:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2787","request_time":"3.452","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"0c9a626704fd8cf39d1a4dfe40ba34a4"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5OH0.WTL0_gH5JYPTonK5a07XtyctKX8gNyMWPzshjsXTvgo","level":"info","message":"auth send jwt","requestID":"b7719c1cd3934edc74e3229fd8b0fe18"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"b7719c1cd3934edc74e3229fd8b0fe18","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 535ms","method":"POST","requestID":"5ee83818efd8d5b0e7cc726ed0558086","responseTime":535,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.563","http_referrer":"","http_user_agent":"node-fetch","requestID":"5ee83818efd8d5b0e7cc726ed0558086"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 563ms","method":"POST","requestID":"89ae2b2b405a086bd23248e1cbe28730","responseTime":563,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.567","http_referrer":"","http_user_agent":"node-fetch","requestID":"89ae2b2b405a086bd23248e1cbe28730"} device-1 | {"level":"info","message":"postDevices called","requestID":"b7719c1cd3934edc74e3229fd8b0fe18"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/68616e24-d689-477f-9de5-f9e6728c1a0a' closed"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":559,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.918327,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b7719c1cd3934edc74e3229fd8b0fe18","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620398,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5OH0.WTL0_gH5JYPTonK5a07XtyctKX8gNyMWPzshjsXTvgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b7719c1cd3934edc74e3229fd8b0fe18","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b150eaa6-479b-44e1-b769-d07e67a1d0aa' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c6cf6f2c-e668-4463-9d21-0a3443a853af","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.501488} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b7719c1cd3934edc74e3229fd8b0fe18","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"637d782b-f5c1-47f4-bdd8-7e727202953e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.5074573} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"b7719c1cd3934edc74e3229fd8b0fe18","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"762589ca-974d-4056-8d34-fa47d882000c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.6647127} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fb7b807a-a01f-4d4b-a293-c788ccc337c8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.6649678} authorization-1 | {"level":"info","message":"POST /relations/update 200 160ms","method":"POST","requestID":"b7719c1cd3934edc74e3229fd8b0fe18","responseTime":160,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:58.664671798Z"}]},"request_id":"ea35c3df-0112-4cdc-aae8-2b023711c9a3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.6695137} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b7719c1cd3934edc74e3229fd8b0fe18","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b7719c1cd3934edc74e3229fd8b0fe18"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.349","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7719c1cd3934edc74e3229fd8b0fe18"} device-1 | {"level":"info","message":"POST /devices? 201 310ms","method":"POST","requestID":"b7719c1cd3934edc74e3229fd8b0fe18","responseTime":310,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5OH0.WTL0_gH5JYPTonK5a07XtyctKX8gNyMWPzshjsXTvgo","level":"info","message":"auth send jwt","requestID":"5563a377f5ef446726ecbd1f58c0d088"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5563a377f5ef446726ecbd1f58c0d088","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"5563a377f5ef446726ecbd1f58c0d088"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T18:59:58Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":560,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.976739,"resp_status":200,"subsystem":"opa","time":"2025-04-02T18:59:58Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5563a377f5ef446726ecbd1f58c0d088","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620398,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDM5OH0.WTL0_gH5JYPTonK5a07XtyctKX8gNyMWPzshjsXTvgo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"5563a377f5ef446726ecbd1f58c0d088","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"bc252d9d-e277-4216-98d7-7b6b80047dbc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.6943443} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5563a377f5ef446726ecbd1f58c0d088","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"7e5497e4-3601-44b7-bc36-ab7585f41e38","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.6996777} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"5563a377f5ef446726ecbd1f58c0d088","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"92201cf5-7dbc-4002-a7e7-1f60a19fb999","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.7116644} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3711d90e-2b02-4122-b850-c1f2c0e85f38","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.711868} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"5563a377f5ef446726ecbd1f58c0d088","responseTime":18,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:58.711636209Z"}]},"request_id":"65d3c953-f0de-4e39-ba85-c87f0c7f952d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620398.71944} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5563a377f5ef446726ecbd1f58c0d088","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"5563a377f5ef446726ecbd1f58c0d088"} device-1 | {"level":"info","message":"POST /devices? 201 45ms","method":"POST","requestID":"5563a377f5ef446726ecbd1f58c0d088","responseTime":45,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:18:59: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.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5563a377f5ef446726ecbd1f58c0d088"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"801413f28d5b526bb2be74659ce1b80d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"801413f28d5b526bb2be74659ce1b80d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.002","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"801413f28d5b526bb2be74659ce1b80d"} device-1 | {"level":"info","message":"OPTIONS /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/websocket 200 1ms","method":"OPTIONS","requestID":"801413f28d5b526bb2be74659ce1b80d","responseTime":1,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMX0.FLLMMQvCpFhRXsud91OE2Dc6lJBlfbBwfWO8yeohf_c","level":"info","message":"auth send jwt","requestID":"68f3e17a593b4b09a78797d74fab4c23"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"68f3e17a593b4b09a78797d74fab4c23","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"68f3e17a593b4b09a78797d74fab4c23"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:01Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":561,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.107395,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"68f3e17a593b4b09a78797d74fab4c23","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620401,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMX0.FLLMMQvCpFhRXsud91OE2Dc6lJBlfbBwfWO8yeohf_c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"68f3e17a593b4b09a78797d74fab4c23","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1abdb410b57cc16eae049423d515a333","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"1abdb410b57cc16eae049423d515a333","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/websocket HTTP/1.1","status": "200","body_bytes_sent":"4","request_time":"0.027","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"1abdb410b57cc16eae049423d515a333"} device-1 | {"level":"info","message":"OPTIONS /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/websocket 200 0ms","method":"OPTIONS","requestID":"1abdb410b57cc16eae049423d515a333","responseTime":0,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMX0.FLLMMQvCpFhRXsud91OE2Dc6lJBlfbBwfWO8yeohf_c","level":"info","message":"auth send jwt","requestID":"eb94069aeae386c56e29251a1d1f9ead"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb94069aeae386c56e29251a1d1f9ead","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"eb94069aeae386c56e29251a1d1f9ead"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:01Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":562,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.963655,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:01Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"eb94069aeae386c56e29251a1d1f9ead","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620401,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMX0.FLLMMQvCpFhRXsud91OE2Dc6lJBlfbBwfWO8yeohf_c"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb94069aeae386c56e29251a1d1f9ead","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"68f3e17a593b4b09a78797d74fab4c23"} gateway-1 | {"time_local":"02/Apr/2025:19:00:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.204","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"68f3e17a593b4b09a78797d74fab4c23"} device-1 | {"level":"info","message":"POST /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/websocket 200 200ms","method":"POST","requestID":"68f3e17a593b4b09a78797d74fab4c23","responseTime":200,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"eb94069aeae386c56e29251a1d1f9ead"} gateway-1 | {"time_local":"02/Apr/2025:19:00:01 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.338","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"eb94069aeae386c56e29251a1d1f9ead"} device-1 | {"level":"info","message":"POST /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/websocket 200 333ms","method":"POST","requestID":"eb94069aeae386c56e29251a1d1f9ead","responseTime":333,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34","level":"info","message":"auth send jwt","requestID":"1fe5b7f202430ae1bc2ebac274ad2712"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1fe5b7f202430ae1bc2ebac274ad2712","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1fe5b7f202430ae1bc2ebac274ad2712"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:02Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":563,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.986298,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1fe5b7f202430ae1bc2ebac274ad2712","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620402,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"1fe5b7f202430ae1bc2ebac274ad2712","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:58.664671798Z"}]},"request_id":"2e617989-cf83-4926-87d3-e972969d9631","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620402.0568693} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1fe5b7f202430ae1bc2ebac274ad2712","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1fe5b7f202430ae1bc2ebac274ad2712"} device-1 | {"level":"info","message":"GET /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138? 200 17ms","method":"GET","requestID":"1fe5b7f202430ae1bc2ebac274ad2712","responseTime":17,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138? 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":"1fe5b7f202430ae1bc2ebac274ad2712"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34","level":"info","message":"auth send jwt","requestID":"f58187a9c9056c25db7ad6f419044647"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f58187a9c9056c25db7ad6f419044647","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f58187a9c9056c25db7ad6f419044647"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:02Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":564,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.980278,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f58187a9c9056c25db7ad6f419044647","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620402,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"f58187a9c9056c25db7ad6f419044647","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:58.711636209Z"}]},"request_id":"71cd8e02-db4f-4f2c-b38c-ed79efea3bfd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620402.0801024} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f58187a9c9056c25db7ad6f419044647","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f58187a9c9056c25db7ad6f419044647"} device-1 | {"level":"info","message":"GET /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446? 200 14ms","method":"GET","requestID":"f58187a9c9056c25db7ad6f419044647","responseTime":14,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.020","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f58187a9c9056c25db7ad6f419044647"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34","level":"info","message":"auth send jwt","requestID":"21ce539a297901bf60966ba5264e2e57"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"21ce539a297901bf60966ba5264e2e57","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"21ce539a297901bf60966ba5264e2e57"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:02Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":565,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.770788,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"21ce539a297901bf60966ba5264e2e57","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620402,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"21ce539a297901bf60966ba5264e2e57","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Attempting to run experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Attempting to book experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Successfully booked experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aeae49e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"aeae9800-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:02Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":566,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.581937,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aeae49e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620402,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"aeae49e0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"aeae9800-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620402,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"aeae9800-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:02Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":567,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.827767,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:02Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:58.664671798Z"}]},"request_id":"f10dd69d-b141-4c0e-aeee-24b0f6bbd4f5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620402.5692513} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"aeae49e0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:58.711636209Z"}]},"request_id":"014814e2-39f6-4f29-947c-d5689b3f3258","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620402.569693} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"aeae9800-0ff4-11f0-acd3-db29ca75a471","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aeae49e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138? 200 17ms","method":"GET","requestID":"aeae49e0-0ff4-11f0-acd3-db29ca75a471","responseTime":17,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"aeae9800-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446? 200 15ms","method":"GET","requestID":"aeae9800-0ff4-11f0-acd3-db29ca75a471","responseTime":15,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Setting up experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Successfully locked booking for experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Attempting to update booking for experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Successfully updated booking for experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Successfully set up experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af098940-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"af09d760-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Successfully running experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af0a2580-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":568,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804241,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"af098940-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620402,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"af098940-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":569,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.676024,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"af09d760-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620402,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"af09d760-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"12b5bd4e-dd6d-4cc2-99c7-974e9916d328","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.166478} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:58.711636209Z"}]},"request_id":"33242bb4-1a09-4411-ab64-01bcf5507f1f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.16653} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"af09d760-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:58.664671798Z"}]},"request_id":"520f6c58-d5b6-4a34-9440-a8f2aa7ffa08","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.1673923} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":570,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.506248,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"af0a2580-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"af0a2580-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"af098940-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af09d760-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446? 200 16ms","method":"GET","requestID":"af09d760-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af0a2580-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/signaling 200 14ms","method":"POST","requestID":"af0a2580-0ff4-11f0-acd3-db29ca75a471","responseTime":14,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"af098940-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138? 200 44ms","method":"GET","requestID":"af098940-0ff4-11f0-acd3-db29ca75a471","responseTime":44,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af106710-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af108e20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0aad9603-d627-4ab4-b45d-3ce29299ea33","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.2053437} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":571,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.609307,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"af106710-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af106710-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7e37be0b-d75f-432c-b49b-d8f3aae41464","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.206065} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":572,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.449397,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"af108e20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af108e20-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af106710-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/signaling 200 10ms","method":"POST","requestID":"af106710-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af108e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/signaling 200 10ms","method":"POST","requestID":"af108e20-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af1262e0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9dabf8a8-e9ee-4ba3-a09e-8e862f0c8dad","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.2182026} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af1262e0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Building connection plan","requestID":"21ce539a297901bf60966ba5264e2e57"} 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":"9c2decd8-3f1c-4de6-a134-a92abae33eac"},{"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":"36ca8ce7-ed8f-4f29-a535-0e0fed1521d3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"f8665d29-253b-4000-8e69-86127f2a9f6f"}]},"level":"info","message":"Built pairwise service configurations","requestID":"21ce539a297901bf60966ba5264e2e57"} 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/b0a137ac-c0a0-4db4-84bf-948bc5468138"},{"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/7b6dd72e-ca93-4818-93f4-e2b0ba987446"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"21ce539a297901bf60966ba5264e2e57"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":573,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.193547,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} device-1 | {"level":"info","message":"POST /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/signaling 200 7ms","method":"POST","requestID":"af1262e0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/signaling"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"af1262e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","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":"postPeerconnections called","requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"af1262e0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":574,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.67044,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620402,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwMn0.Bxc0JtW5b5Pd-_oC6OCqXnl54Rd4ETcXAxmHuMeVP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffee1c161-2290-4fab-8549-ddbc96dad1bd#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffee1c161-2290-4fab-8549-ddbc96dad1bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"a4effd96-fd7d-4c32-8e74-3af28cd88ebf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.312431} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35cda895-b1b2-4783-a411-2bcf73b5e586","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.3126857} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"6d87c691-088b-4d28-9459-9feb1ce73b1b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.3136058} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"257d7d8c-8518-4cd0-bbc8-9b137f5871e0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.3142471} authorization-1 | {"level":"info","message":"POST /relations/update 200 153ms","method":"POST","requestID":"21ce539a297901bf60966ba5264e2e57","responseTime":153,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/update 200 60ms","method":"POST","requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471","responseTime":60,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"21ce539a297901bf60966ba5264e2e57"} experiment-1 | {"level":"info","message":"POST /experiments? 201 1248ms","method":"POST","requestID":"21ce539a297901bf60966ba5264e2e57","responseTime":1248,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"1.262","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"21ce539a297901bf60966ba5264e2e57"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwM30.y-9UP5xt-yFMtuMCF4yYFAqFlek1LVsZ0qgd1JcZE8I","level":"info","message":"auth send jwt","requestID":"752d44d45bc6c67393b9200ce0aed059"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"752d44d45bc6c67393b9200ce0aed059","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"752d44d45bc6c67393b9200ce0aed059"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":575,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.969355,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"752d44d45bc6c67393b9200ce0aed059","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620403,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwM30.y-9UP5xt-yFMtuMCF4yYFAqFlek1LVsZ0qgd1JcZE8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"752d44d45bc6c67393b9200ce0aed059","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:58.664671798Z"}]},"request_id":"c9ed0fa8-f729-4de6-9067-c1ccf8eeb545","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.3563154} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"752d44d45bc6c67393b9200ce0aed059","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db'","requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db'","requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 286ms","method":"POST","requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471","responseTime":286,"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":"752d44d45bc6c67393b9200ce0aed059"} gateway-1 | {"time_local":"02/Apr/2025:19:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.164","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"752d44d45bc6c67393b9200ce0aed059"} device-1 | {"level":"info","message":"GET /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138? 200 161ms","method":"GET","requestID":"752d44d45bc6c67393b9200ce0aed059","responseTime":161,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138?"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"af13e980-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwM30.y-9UP5xt-yFMtuMCF4yYFAqFlek1LVsZ0qgd1JcZE8I","level":"info","message":"auth send jwt","requestID":"1a8c712346dc706c0759a1c3c271eace"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"1a8c712346dc706c0759a1c3c271eace","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1a8c712346dc706c0759a1c3c271eace"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db","device":"b0a137ac-c0a0-4db4-84bf-948bc5468138","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db","device":"7b6dd72e-ca93-4818-93f4-e2b0ba987446","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} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":576,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.916046,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1a8c712346dc706c0759a1c3c271eace","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620403,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwM30.y-9UP5xt-yFMtuMCF4yYFAqFlek1LVsZ0qgd1JcZE8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1a8c712346dc706c0759a1c3c271eace","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T18:59:58.711636209Z"}]},"request_id":"4495caa7-ef3f-47ce-bcaf-73704863f7ff","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.548254} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"1a8c712346dc706c0759a1c3c271eace","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1a8c712346dc706c0759a1c3c271eace"} gateway-1 | {"time_local":"02/Apr/2025:19:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446? 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":"1a8c712346dc706c0759a1c3c271eace"} device-1 | {"level":"info","message":"GET /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446? 200 10ms","method":"GET","requestID":"1a8c712346dc706c0759a1c3c271eace","responseTime":10,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446?"} device-1 | {"device":"7b6dd72e-ca93-4818-93f4-e2b0ba987446","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"7b6dd72e-ca93-4818-93f4-e2b0ba987446","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"b0a137ac-c0a0-4db4-84bf-948bc5468138","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b0a137ac-c0a0-4db4-84bf-948bc5468138","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"content":{"sdp":"v=0\r\no=- 7311731971150628405 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:abX6\r\na=ice-pwd:KkNt4JiCwkz7iopIIBpLxTNr\r\na=ice-options:trickle\r\na=fingerprint:sha-256 41:26:06:0B:55:D7:A7:CD:AB:3E:C2:E0:67:34:AF:F9:40:8B:FD:5F:06:88:35:5A:C1:19:3D:5A:01:28:C2:CA\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"7b6dd72e-ca93-4818-93f4-e2b0ba987446","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 6571429006691811838 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:kE9J\r\na=ice-pwd:h5MVzEt5t7LW+BWhS9CEWL2Z\r\na=ice-options:trickle\r\na=fingerprint:sha-256 57:51:3B:98:5A:FF:BD:F7:C4:27:9A:10:6F:88:9E:5F:E5:4E:90:48:FF:37:32:09:A6:D0:BD:2E:19:7B:5F:D8\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"b0a137ac-c0a0-4db4-84bf-948bc5468138","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:3672233096 1 udp 2113937151 66794d4e-bb54-4150-a014-38af80964007.local 55432 typ host generation 0 ufrag kE9J network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b0a137ac-c0a0-4db4-84bf-948bc5468138","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/b0a137ac-c0a0-4db4-84bf-948bc5468138'"} device-1 | {"content":{"candidate":"candidate:2927604385 1 udp 2113937151 4772a5b4-db1c-4f47-a77c-505e0022c0c2.local 43142 typ host generation 0 ufrag abX6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"7b6dd72e-ca93-4818-93f4-e2b0ba987446","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"7b6dd72e-ca93-4818-93f4-e2b0ba987446","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/6346de24-d716-4da1-85b1-852e703891db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6346de24-d716-4da1-85b1-852e703891db","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"683200c4dbfa630337380848bdf86584","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"new","url":"http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138"},{"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/7b6dd72e-ca93-4818-93f4-e2b0ba987446"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db"}}},"level":"info","message":"received a callback","requestID":"683200c4dbfa630337380848bdf86584"} device-1 | {"device":"b0a137ac-c0a0-4db4-84bf-948bc5468138","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"7b6dd72e-ca93-4818-93f4-e2b0ba987446","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b0a137ac-c0a0-4db4-84bf-948bc5468138","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b0a137ac-c0a0-4db4-84bf-948bc5468138","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"7b6dd72e-ca93-4818-93f4-e2b0ba987446","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"683200c4dbfa630337380848bdf86584","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"b0a137ac-c0a0-4db4-84bf-948bc5468138","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 51ms","method":"POST","requestID":"683200c4dbfa630337380848bdf86584","responseTime":51,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.054","http_referrer":"","http_user_agent":"node-fetch","requestID":"683200c4dbfa630337380848bdf86584"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwM30.y-9UP5xt-yFMtuMCF4yYFAqFlek1LVsZ0qgd1JcZE8I","level":"info","message":"auth send jwt","requestID":"f7ee98f3b5d00fca0e22d4c1cf4427d6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f7ee98f3b5d00fca0e22d4c1cf4427d6","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"f7ee98f3b5d00fca0e22d4c1cf4427d6"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":577,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.697127,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f7ee98f3b5d00fca0e22d4c1cf4427d6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620403,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwM30.y-9UP5xt-yFMtuMCF4yYFAqFlek1LVsZ0qgd1JcZE8I"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"f7ee98f3b5d00fca0e22d4c1cf4427d6","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"data":{"peerconnection":"6346de24-d716-4da1-85b1-852e703891db","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"21ce539a297901bf60966ba5264e2e57"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af817860-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"f7ee98f3b5d00fca0e22d4c1cf4427d6"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a1b51fc4-8aa7-4b12-9344-77c6f459463b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620403.9470417} experiment-1 | {"level":"info","message":"GET /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd 200 142ms","method":"GET","requestID":"f7ee98f3b5d00fca0e22d4c1cf4427d6","responseTime":142,"status":200,"url":"/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"} gateway-1 | {"time_local":"02/Apr/2025:19:00:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.169","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f7ee98f3b5d00fca0e22d4c1cf4427d6"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":578,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":25.599184,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"af817860-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","object_type":"device","rebac_allow":false,"scope_allow":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":"af817860-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"data":{"peerconnection":"6346de24-d716-4da1-85b1-852e703891db","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af817860-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM","level":"info","message":"auth send jwt","requestID":"04912b44956fd54f90eb88f40c11bb1d"} device-1 | {"level":"info","message":"POST /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/signaling 200 133ms","method":"POST","requestID":"af817860-0ff4-11f0-acd3-db29ca75a471","responseTime":133,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"04912b44956fd54f90eb88f40c11bb1d","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"04912b44956fd54f90eb88f40c11bb1d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"af9611d0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"04912b44956fd54f90eb88f40c11bb1d"} gateway-1 | {"time_local":"02/Apr/2025:19:00:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.015","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"04912b44956fd54f90eb88f40c11bb1d"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":580,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.639095,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} experiment-1 | {"level":"info","message":"GET /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd 200 9ms","method":"GET","requestID":"04912b44956fd54f90eb88f40c11bb1d","responseTime":9,"status":200,"url":"/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"04912b44956fd54f90eb88f40c11bb1d","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620404,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"04912b44956fd54f90eb88f40c11bb1d","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"948a7d73-eddf-46da-b797-7156ca160f25","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620404.0812786} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":579,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.333619,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"af9611d0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"af9611d0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM","level":"info","message":"auth send jwt","requestID":"d7c94e49e31d310db9e6821796e9179b"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d7c94e49e31d310db9e6821796e9179b","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"d7c94e49e31d310db9e6821796e9179b"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":581,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.85929,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d7c94e49e31d310db9e6821796e9179b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620404,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d7c94e49e31d310db9e6821796e9179b","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"d7c94e49e31d310db9e6821796e9179b"} gateway-1 | {"time_local":"02/Apr/2025:19:00:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.012","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d7c94e49e31d310db9e6821796e9179b"} experiment-1 | {"level":"info","message":"GET /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd 200 9ms","method":"GET","requestID":"d7c94e49e31d310db9e6821796e9179b","responseTime":9,"status":200,"url":"/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6346de24-d716-4da1-85b1-852e703891db","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b1c1565ec58bef2e47fb36aafc698bea","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b1c1565ec58bef2e47fb36aafc698bea","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/b0a137ac-c0a0-4db4-84bf-948bc5468138"},{"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/7b6dd72e-ca93-4818-93f4-e2b0ba987446"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db"}}},"level":"info","message":"received a callback","requestID":"b1c1565ec58bef2e47fb36aafc698bea"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"af9611d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/signaling 200 152ms","method":"POST","requestID":"af9611d0-0ff4-11f0-acd3-db29ca75a471","responseTime":152,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/signaling"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"afb27370-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6346de24-d716-4da1-85b1-852e703891db","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e0a382dc-0db8-48b7-8b61-316504067f25","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620404.2670026} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":582,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.177125,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"afb27370-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db","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":"afb27370-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM","level":"info","message":"auth send jwt","requestID":"b46197b0e248dd04b2e4bbe189499d97"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"b46197b0e248dd04b2e4bbe189499d97","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"b46197b0e248dd04b2e4bbe189499d97"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":583,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.732889,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b46197b0e248dd04b2e4bbe189499d97","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620404,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"b46197b0e248dd04b2e4bbe189499d97","responseTime":27,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"b46197b0e248dd04b2e4bbe189499d97"} gateway-1 | {"time_local":"02/Apr/2025:19:00:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd HTTP/1.1","status": "200","body_bytes_sent":"1282","request_time":"0.036","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b46197b0e248dd04b2e4bbe189499d97"} experiment-1 | {"level":"info","message":"GET /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd 200 32ms","method":"GET","requestID":"b46197b0e248dd04b2e4bbe189499d97","responseTime":32,"status":200,"url":"/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"afb27370-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/6346de24-d716-4da1-85b1-852e703891db 200 125ms","method":"GET","requestID":"afb27370-0ff4-11f0-acd3-db29ca75a471","responseTime":125,"status":200,"url":"/peerconnections/6346de24-d716-4da1-85b1-852e703891db"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM","level":"info","message":"auth send jwt","requestID":"4e2b84b376d4ac8893b49f4859c47d75"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"4e2b84b376d4ac8893b49f4859c47d75","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"4e2b84b376d4ac8893b49f4859c47d75"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":584,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.72028,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"4e2b84b376d4ac8893b49f4859c47d75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620404,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4e2b84b376d4ac8893b49f4859c47d75","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 279ms","method":"POST","requestID":"b1c1565ec58bef2e47fb36aafc698bea","responseTime":279,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.282","http_referrer":"","http_user_agent":"node-fetch","requestID":"b1c1565ec58bef2e47fb36aafc698bea"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"afd7d5c0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"4e2b84b376d4ac8893b49f4859c47d75"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} gateway-1 | {"time_local":"02/Apr/2025:19:00:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.051","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4e2b84b376d4ac8893b49f4859c47d75"} experiment-1 | {"level":"info","message":"GET /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd 200 45ms","method":"GET","requestID":"4e2b84b376d4ac8893b49f4859c47d75","responseTime":45,"status":200,"url":"/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eefa75a5-5d5d-495c-ad2d-bf32725e9584","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620404.5129337} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":585,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.067968,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"afd7d5c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"afd7d5c0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM","level":"info","message":"auth send jwt","requestID":"c91230140591917b02fe918b7896b158"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c91230140591917b02fe918b7896b158","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"c91230140591917b02fe918b7896b158"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"afd7d5c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/signaling 200 11ms","method":"POST","requestID":"afd7d5c0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"afdd7b10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":586,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":25.424903,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c91230140591917b02fe918b7896b158","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620404,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"c91230140591917b02fe918b7896b158","responseTime":29,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5e911a8c-3a06-4697-86a6-0e01078112ef","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620404.550256} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":587,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.036481,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Attempting to finish experiment","requestID":"c91230140591917b02fe918b7896b158"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"afdd7b10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"afdd7b10-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"afdeb390-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"afdd7b10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/signaling 200 11ms","method":"POST","requestID":"afdd7b10-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/signaling"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":588,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.865988,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"afdeb390-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620404,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"afdeb390-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db","device":"b0a137ac-c0a0-4db4-84bf-948bc5468138","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db","device":"7b6dd72e-ca93-4818-93f4-e2b0ba987446","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/6346de24-d716-4da1-85b1-852e703891db' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6346de24-d716-4da1-85b1-852e703891db","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9db80c1ae93c5dc0f9c344cc492197fb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"848aaca7-5db3-4472-80b2-ada712bcb145","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620404.593779} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6346de24-d716-4da1-85b1-852e703891db': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6346de24-d716-4da1-85b1-852e703891db","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"8da46de4-648b-4fcf-9bec-d380140cf83e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620404.5941591} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9db80c1ae93c5dc0f9c344cc492197fb","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8296f74f6b8a6695285c6af3443a9b27","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8296f74f6b8a6695285c6af3443a9b27","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138"},{"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/7b6dd72e-ca93-4818-93f4-e2b0ba987446"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db"}}},"level":"info","message":"received a callback","requestID":"9db80c1ae93c5dc0f9c344cc492197fb"} authorization-1 | {"level":"info","message":"POST /relations/update 200 32ms","method":"POST","requestID":"afdeb390-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/b0a137ac-c0a0-4db4-84bf-948bc5468138"},{"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/7b6dd72e-ca93-4818-93f4-e2b0ba987446"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6346de24-d716-4da1-85b1-852e703891db"}}},"level":"info","message":"received a callback","requestID":"8296f74f6b8a6695285c6af3443a9b27"} device-1 | {"data":{"peerconnection":"6346de24-d716-4da1-85b1-852e703891db","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"afdeb390-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/6346de24-d716-4da1-85b1-852e703891db 204 248ms","method":"DELETE","requestID":"afdeb390-0ff4-11f0-acd3-db29ca75a471","responseTime":248,"status":204,"url":"/peerconnections/6346de24-d716-4da1-85b1-852e703891db"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"},"level":"info","message":"Successfully finished experiment","requestID":"c91230140591917b02fe918b7896b158"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b00882b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb0a137ac-c0a0-4db4-84bf-948bc5468138","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e97d2310-28a6-48c9-8c92-f9f31a9521e2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620404.8316157} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":589,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.271619,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b00882b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b00882b0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b00882b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/signaling 200 8ms","method":"POST","requestID":"b00882b0-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b00a0950-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffee1c161-2290-4fab-8549-ddbc96dad1bd': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffee1c161-2290-4fab-8549-ddbc96dad1bd","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"7903fb43-536d-49a8-9f48-6240a873ff63","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620404.8408015} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cf5f77f9-40c1-4c4b-94c5-4a60c621fe1b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620404.8410172} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"level":"info","message":"POST /relations/update 200 17ms","method":"POST","requestID":"c91230140591917b02fe918b7896b158","responseTime":17,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F7b6dd72e-ca93-4818-93f4-e2b0ba987446","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"81de7e72-8ed5-4693-83d9-790190b8d0d0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620404.8434532} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":590,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.594723,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b00a0950-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b00a0950-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b00a0950-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/signaling 200 10ms","method":"POST","requestID":"b00a0950-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd","requestID":"c91230140591917b02fe918b7896b158"} gateway-1 | {"time_local":"02/Apr/2025:19:00:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.468","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c91230140591917b02fe918b7896b158"} experiment-1 | {"level":"info","message":"DELETE /experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd 204 464ms","method":"DELETE","requestID":"c91230140591917b02fe918b7896b158","responseTime":464,"status":204,"url":"/experiments/fee1c161-2290-4fab-8549-ddbc96dad1bd"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 388ms","method":"POST","requestID":"9db80c1ae93c5dc0f9c344cc492197fb","responseTime":388,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.391","http_referrer":"","http_user_agent":"node-fetch","requestID":"9db80c1ae93c5dc0f9c344cc492197fb"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 388ms","method":"POST","requestID":"8296f74f6b8a6695285c6af3443a9b27","responseTime":388,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00:04 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.390","http_referrer":"","http_user_agent":"node-fetch","requestID":"8296f74f6b8a6695285c6af3443a9b27"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM","level":"info","message":"auth send jwt","requestID":"b7cd9ac31500fb8dad635ac6d4323056"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"b7cd9ac31500fb8dad635ac6d4323056","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"b7cd9ac31500fb8dad635ac6d4323056"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":591,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.906522,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:04Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b7cd9ac31500fb8dad635ac6d4323056","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620404,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNH0.9GyUqu5Nt9OMsn4yDhpBeOxGBcp9B3MHgVyvaMlF2qM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b7cd9ac31500fb8dad635ac6d4323056","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:19:00:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2542","request_time":"3.501","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"053f6ea6db77c6871c7e2d8e6ad214b2"} gateway-1 | {"time_local":"02/Apr/2025:19:00:05 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2540","request_time":"3.347","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"98d592160752bba1d926d16f20943920"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/b0a137ac-c0a0-4db4-84bf-948bc5468138' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5d534f34-acf5-45f0-8756-7660b573d6c8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620405.088964} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b7cd9ac31500fb8dad635ac6d4323056","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a76076a5-ce7e-42f6-babc-cf761f86401a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620405.0928128} authorization-1 | {"level":"info","message":"POST /relations/update 200 2ms","method":"POST","requestID":"b7cd9ac31500fb8dad635ac6d4323056","responseTime":2,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/7b6dd72e-ca93-4818-93f4-e2b0ba987446' closed"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"b12a02ae-5e2e-4c38-958a-cc6d37da5847","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620405.1309536} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"03479162-1f99-4eaf-9e8c-432d77401a2d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620405.1311963} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"b7cd9ac31500fb8dad635ac6d4323056","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:05.130924480Z"}]},"request_id":"d62227d9-54bc-4283-8ed6-de9681f28008","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620405.1356819} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b7cd9ac31500fb8dad635ac6d4323056","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b7cd9ac31500fb8dad635ac6d4323056"} device-1 | {"level":"info","message":"POST /devices? 201 145ms","method":"POST","requestID":"b7cd9ac31500fb8dad635ac6d4323056","responseTime":145,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b7cd9ac31500fb8dad635ac6d4323056"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNX0.oJDpGUtNS-oD_mV92IDfxZSXelljlR7TNSmaGzv4emY","level":"info","message":"auth send jwt","requestID":"818741c6cb16925bbf5f12bc5ae6f084"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"818741c6cb16925bbf5f12bc5ae6f084","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"818741c6cb16925bbf5f12bc5ae6f084"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:05Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":592,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.783187,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:05Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"818741c6cb16925bbf5f12bc5ae6f084","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620405,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwNX0.oJDpGUtNS-oD_mV92IDfxZSXelljlR7TNSmaGzv4emY"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"818741c6cb16925bbf5f12bc5ae6f084","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c89a006d-b9de-482b-8106-cb45f6874836","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620405.1851003} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"818741c6cb16925bbf5f12bc5ae6f084","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"39258df0-a138-4461-8697-2f23b1e7c3a0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620405.1890433} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"818741c6cb16925bbf5f12bc5ae6f084","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"822ea338-969a-4345-8adf-46109d50af26","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620405.223579} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cee5aa48-6b74-4b9b-ae38-1c3a66db46d9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620405.223746} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"818741c6cb16925bbf5f12bc5ae6f084","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:05.223547512Z"}]},"request_id":"e535fd06-29ff-4b9d-86d4-bf8ff9738311","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620405.2273521} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"818741c6cb16925bbf5f12bc5ae6f084","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"818741c6cb16925bbf5f12bc5ae6f084"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"818741c6cb16925bbf5f12bc5ae6f084"} device-1 | {"level":"info","message":"POST /devices? 201 87ms","method":"POST","requestID":"818741c6cb16925bbf5f12bc5ae6f084","responseTime":87,"status":201,"url":"/devices?"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8f002481e8a329248abfe3923a0d28c5","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8f002481e8a329248abfe3923a0d28c5","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"be55cf936d4c70e8a272ae4ba702fcb3","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"OPTIONS /devices/b6088aad-ad8f-46ba-adae-cb97297aa361/websocket 200 1ms","method":"OPTIONS","requestID":"8f002481e8a329248abfe3923a0d28c5","responseTime":1,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361/websocket"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"be55cf936d4c70e8a272ae4ba702fcb3","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/b6088aad-ad8f-46ba-adae-cb97297aa361/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":"8f002481e8a329248abfe3923a0d28c5"} gateway-1 | {"time_local":"02/Apr/2025:19:00:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/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":"be55cf936d4c70e8a272ae4ba702fcb3"} device-1 | {"level":"info","message":"OPTIONS /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/websocket 200 1ms","method":"OPTIONS","requestID":"be55cf936d4c70e8a272ae4ba702fcb3","responseTime":1,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34","level":"info","message":"auth send jwt","requestID":"9c6c1c7477a729c176b69d2242a77d0b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"9c6c1c7477a729c176b69d2242a77d0b","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9c6c1c7477a729c176b69d2242a77d0b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34","level":"info","message":"auth send jwt","requestID":"98d1376ea889b7e8234b20791866cdc8"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"98d1376ea889b7e8234b20791866cdc8","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"98d1376ea889b7e8234b20791866cdc8"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":593,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.910128,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9c6c1c7477a729c176b69d2242a77d0b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620407,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"9c6c1c7477a729c176b69d2242a77d0b","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":594,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.86572,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"98d1376ea889b7e8234b20791866cdc8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620407,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"98d1376ea889b7e8234b20791866cdc8","responseTime":27,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"98d1376ea889b7e8234b20791866cdc8"} gateway-1 | {"time_local":"02/Apr/2025:19:00:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/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":"98d1376ea889b7e8234b20791866cdc8"} device-1 | {"level":"info","message":"POST /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/websocket 200 32ms","method":"POST","requestID":"98d1376ea889b7e8234b20791866cdc8","responseTime":32,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9c6c1c7477a729c176b69d2242a77d0b"} gateway-1 | {"time_local":"02/Apr/2025:19:00:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/b6088aad-ad8f-46ba-adae-cb97297aa361/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.053","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9c6c1c7477a729c176b69d2242a77d0b"} device-1 | {"level":"info","message":"POST /devices/b6088aad-ad8f-46ba-adae-cb97297aa361/websocket 200 47ms","method":"POST","requestID":"9c6c1c7477a729c176b69d2242a77d0b","responseTime":47,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34","level":"info","message":"auth send jwt","requestID":"d15f1b41a2726c059211b88b7419525e"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d15f1b41a2726c059211b88b7419525e","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d15f1b41a2726c059211b88b7419525e"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":595,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.784838,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d15f1b41a2726c059211b88b7419525e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620407,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 27ms","method":"POST","requestID":"d15f1b41a2726c059211b88b7419525e","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:05.130924480Z"}]},"request_id":"ae0dd6a7-f23b-4d61-87fa-555a36898a49","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620407.8626711} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d15f1b41a2726c059211b88b7419525e","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d15f1b41a2726c059211b88b7419525e"} gateway-1 | {"time_local":"02/Apr/2025:19:00:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d? 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":"d15f1b41a2726c059211b88b7419525e"} device-1 | {"level":"info","message":"GET /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d? 200 36ms","method":"GET","requestID":"d15f1b41a2726c059211b88b7419525e","responseTime":36,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34","level":"info","message":"auth send jwt","requestID":"5d42f45e94f2cc5aa2c1bfbb5d771f58"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"5d42f45e94f2cc5aa2c1bfbb5d771f58","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5d42f45e94f2cc5aa2c1bfbb5d771f58"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":596,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.700779,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5d42f45e94f2cc5aa2c1bfbb5d771f58","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620407,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5d42f45e94f2cc5aa2c1bfbb5d771f58","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:05.223547512Z"}]},"request_id":"65247618-9f9b-47d1-95eb-8c9961537386","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620407.8793824} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"5d42f45e94f2cc5aa2c1bfbb5d771f58","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5d42f45e94f2cc5aa2c1bfbb5d771f58"} device-1 | {"level":"info","message":"GET /devices/b6088aad-ad8f-46ba-adae-cb97297aa361? 200 34ms","method":"GET","requestID":"5d42f45e94f2cc5aa2c1bfbb5d771f58","responseTime":34,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b6088aad-ad8f-46ba-adae-cb97297aa361? 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":"5d42f45e94f2cc5aa2c1bfbb5d771f58"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34","level":"info","message":"auth send jwt","requestID":"104c8a87896849956d6ab280afd3d094"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"104c8a87896849956d6ab280afd3d094","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"104c8a87896849956d6ab280afd3d094"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":597,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.907402,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"104c8a87896849956d6ab280afd3d094","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620407,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"104c8a87896849956d6ab280afd3d094","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Attempting to run experiment","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Attempting to book experiment","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Successfully booked experiment","requestID":"104c8a87896849956d6ab280afd3d094"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b1e7f110-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b1e81820-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":598,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866355,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b1e7f110-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620407,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b1e7f110-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:07Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":599,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":26.590114,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b1e81820-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620407,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"b1e81820-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:05.130924480Z"}]},"request_id":"3c3b4b1d-ab2a-4527-b296-c8326740bdbd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.0046053} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"b1e7f110-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:05.223547512Z"}]},"request_id":"b81c51d9-c22a-4312-afa8-f12cb807c264","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.0057435} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"b1e81820-0ff4-11f0-acd3-db29ca75a471","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b1e7f110-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d? 200 41ms","method":"GET","requestID":"b1e7f110-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b1e81820-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b6088aad-ad8f-46ba-adae-cb97297aa361? 200 41ms","method":"GET","requestID":"b1e81820-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Setting up experiment","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Successfully locked booking for experiment","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Attempting to update booking for experiment","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Successfully updated booking for experiment","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Successfully set up experiment","requestID":"104c8a87896849956d6ab280afd3d094"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b1fc8a80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b1fcb190-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b1fcffb0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Successfully running experiment","requestID":"104c8a87896849956d6ab280afd3d094"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":600,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.934311,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b1fc8a80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620407,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b1fc8a80-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":601,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.029759,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b1fcb190-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620407,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"b1fcb190-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":602,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.210252,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"072ad20e-2ea8-46bf-b425-041127df10be","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.1142302} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b1fcffb0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","object_type":"device","rebac_allow":false,"scope_allow":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":"b1fcffb0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b1fcffb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/signaling 200 37ms","method":"POST","requestID":"b1fcffb0-0ff4-11f0-acd3-db29ca75a471","responseTime":37,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:05.223547512Z"}]},"request_id":"4d20ead1-b036-41eb-ac17-1382d751df0d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.1197882} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"b1fcb190-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:05.130924480Z"}]},"request_id":"440af39f-cba9-43c8-8c45-e91199863a11","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.1456463} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"b1fc8a80-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2034140-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1963808-3783-4196-b4e7-633dc8c8a9ec#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1963808-3783-4196-b4e7-633dc8c8a9ec","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"0e92d50f-2262-4b3b-89d8-09edaeadd283","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.1500115} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"53c55189-edc5-4a78-8889-ad82847d0e73","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.1502104} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b1fcb190-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/b6088aad-ad8f-46ba-adae-cb97297aa361? 200 48ms","method":"GET","requestID":"b1fcb190-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b1fc8a80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"104c8a87896849956d6ab280afd3d094","responseTime":42,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fb3c16ed-3a4e-4b0d-91ab-15fa05cd4037","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.1540604} device-1 | {"level":"info","message":"GET /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d? 200 50ms","method":"GET","requestID":"b1fc8a80-0ff4-11f0-acd3-db29ca75a471","responseTime":50,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d?"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":603,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.731077,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b2034140-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","object_type":"device","rebac_allow":false,"scope_allow":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":"b2034140-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2034140-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b6088aad-ad8f-46ba-adae-cb97297aa361/signaling 200 11ms","method":"POST","requestID":"b2034140-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b204eef0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"level":"info","message":"POST /experiments? 201 252ms","method":"POST","requestID":"104c8a87896849956d6ab280afd3d094","responseTime":252,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"60602810-345e-40fd-a471-0ae3709b3919","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.1647673} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":604,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.145748,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} gateway-1 | {"time_local":"02/Apr/2025:19:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1211","request_time":"0.257","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"104c8a87896849956d6ab280afd3d094"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b204eef0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b204eef0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU","level":"info","message":"auth send jwt","requestID":"a7d568430ab8b4aa9a6301c554b98f79"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"a7d568430ab8b4aa9a6301c554b98f79","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b204eef0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/signaling 200 38ms","method":"POST","requestID":"b204eef0-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a7d568430ab8b4aa9a6301c554b98f79"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b20b3080-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":605,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930854,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a7d568430ab8b4aa9a6301c554b98f79","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620408,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a7d568430ab8b4aa9a6301c554b98f79","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7b9ea8d-37d4-4c87-8b62-88ab28a01ea2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.204622} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":606,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.160781,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b20b3080-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b20b3080-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:05.130924480Z"}]},"request_id":"5bc38ec9-34e0-4059-937d-e663e4ed2ba3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.2060413} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"a7d568430ab8b4aa9a6301c554b98f79","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b20b3080-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b6088aad-ad8f-46ba-adae-cb97297aa361/signaling 200 9ms","method":"POST","requestID":"b20b3080-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a7d568430ab8b4aa9a6301c554b98f79"} gateway-1 | {"time_local":"02/Apr/2025:19:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a7d568430ab8b4aa9a6301c554b98f79"} device-1 | {"level":"info","message":"GET /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d? 200 12ms","method":"GET","requestID":"a7d568430ab8b4aa9a6301c554b98f79","responseTime":12,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"104c8a87896849956d6ab280afd3d094"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Building connection plan","requestID":"104c8a87896849956d6ab280afd3d094"} 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":"7dd2c21d-57fd-4afa-98d3-bca02282aec3"},{"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":"efc0ee03-b16e-4ff3-9099-15de5e3ba8f3"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"15986628-1b90-4a00-9f0f-57ce4cde1163"}]},"level":"info","message":"Built pairwise service configurations","requestID":"104c8a87896849956d6ab280afd3d094"} 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/b6088aad-ad8f-46ba-adae-cb97297aa361"},{"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/31a0323a-863d-4bb4-92e4-9eac9e8a125d"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"104c8a87896849956d6ab280afd3d094"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU","level":"info","message":"auth send jwt","requestID":"b5761c099a28a49016bd3773a0f3788a"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b5761c099a28a49016bd3773a0f3788a","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":607,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.83423,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b5761c099a28a49016bd3773a0f3788a"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620407,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwN30.UUVdAEK0cfG9hmVddALsLTjLZcaHZs7xxYfx8j1vP34"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":608,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.949531,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b5761c099a28a49016bd3773a0f3788a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620408,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b5761c099a28a49016bd3773a0f3788a","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:05.223547512Z"}]},"request_id":"9522ac37-93e9-4072-bbcd-8da65d226fcc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.2496827} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b5761c099a28a49016bd3773a0f3788a","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b5761c099a28a49016bd3773a0f3788a"} gateway-1 | {"time_local":"02/Apr/2025:19:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/b6088aad-ad8f-46ba-adae-cb97297aa361? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.043","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b5761c099a28a49016bd3773a0f3788a"} device-1 | {"level":"info","message":"GET /devices/b6088aad-ad8f-46ba-adae-cb97297aa361? 200 39ms","method":"GET","requestID":"b5761c099a28a49016bd3773a0f3788a","responseTime":39,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"d25b5dc5-3ee9-4868-b281-5fb69804d485","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.2546637} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc890545-9eb9-4190-b3f2-ac322fbf6032","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.2548761} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73'","requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73'","requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 84ms","method":"POST","requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471","responseTime":84,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"b20d0540-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73","device":"b6088aad-ad8f-46ba-adae-cb97297aa361","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/aff7d841-72e5-4f3c-a483-5030a66f0c73","device":"31a0323a-863d-4bb4-92e4-9eac9e8a125d","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/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"104c8a87896849956d6ab280afd3d094"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b2226200-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"33bd59be-9520-454c-9cbb-4c90939fba74","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.356505} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":609,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.605106,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b2226200-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b2226200-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b2226200-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/signaling 200 33ms","method":"POST","requestID":"b2226200-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b227b930-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"453bf0f8-13ca-4b48-9cb5-de98a8f179c4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.3942153} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":610,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.829223,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b227b930-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","object_type":"device","rebac_allow":false,"scope_allow":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":"b227b930-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"device":"31a0323a-863d-4bb4-92e4-9eac9e8a125d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"31a0323a-863d-4bb4-92e4-9eac9e8a125d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"device":"b6088aad-ad8f-46ba-adae-cb97297aa361","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"b6088aad-ad8f-46ba-adae-cb97297aa361","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b227b930-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b6088aad-ad8f-46ba-adae-cb97297aa361/signaling 200 20ms","method":"POST","requestID":"b227b930-0ff4-11f0-acd3-db29ca75a471","responseTime":20,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 608112421339512923 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:Luli\r\na=ice-pwd:CFjxeo4Vhs7kd9E3nbXMm0Go\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E5:90:42:0B:33:8B:A7:4C:57:4A:29:FA:A7:85:23:A8:3E:5D:B8:CD:B5:B6:9E:02:EA:8D:BF:51:34:85:96:D1\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"31a0323a-863d-4bb4-92e4-9eac9e8a125d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 8326830812975952054 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:+mHG\r\na=ice-pwd:0G9G9wA5iB8XsctNEBssl4f/\r\na=ice-options:trickle\r\na=fingerprint:sha-256 E3:A3:3E:A6:18:69:90:2E:C5:39:33:C7:8B:FF:0D:41:99:95:65:51:D5:45:00:DE:97:ED:A4:94:8F:70:9A:24\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"b6088aad-ad8f-46ba-adae-cb97297aa361","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:752539522 1 udp 2113937151 a3e7a005-3521-4f48-81a0-168b2a20cda2.local 49935 typ host generation 0 ufrag +mHG network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"b6088aad-ad8f-46ba-adae-cb97297aa361","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/b6088aad-ad8f-46ba-adae-cb97297aa361'"} device-1 | {"content":{"candidate":"candidate:3742479537 1 udp 2113937151 ab82b6c9-6eaa-4a56-b843-86bcd6024ffd.local 57434 typ host generation 0 ufrag Luli network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"31a0323a-863d-4bb4-92e4-9eac9e8a125d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"31a0323a-863d-4bb4-92e4-9eac9e8a125d","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/aff7d841-72e5-4f3c-a483-5030a66f0c73' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aff7d841-72e5-4f3c-a483-5030a66f0c73","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ccf6de36ef6466bd5a7564165b2e186d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ccf6de36ef6466bd5a7564165b2e186d","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/b6088aad-ad8f-46ba-adae-cb97297aa361"},{"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/31a0323a-863d-4bb4-92e4-9eac9e8a125d"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73"}}},"level":"info","message":"received a callback","requestID":"ccf6de36ef6466bd5a7564165b2e186d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 6ms","method":"POST","requestID":"ccf6de36ef6466bd5a7564165b2e186d","responseTime":6,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.009","http_referrer":"","http_user_agent":"node-fetch","requestID":"ccf6de36ef6466bd5a7564165b2e186d"} device-1 | {"device":"31a0323a-863d-4bb4-92e4-9eac9e8a125d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"b6088aad-ad8f-46ba-adae-cb97297aa361","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"b6088aad-ad8f-46ba-adae-cb97297aa361","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"data":{"peerconnection":"aff7d841-72e5-4f3c-a483-5030a66f0c73","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"b6088aad-ad8f-46ba-adae-cb97297aa361","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"31a0323a-863d-4bb4-92e4-9eac9e8a125d","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"b6088aad-ad8f-46ba-adae-cb97297aa361","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"aff7d841-72e5-4f3c-a483-5030a66f0c73","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/aff7d841-72e5-4f3c-a483-5030a66f0c73' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aff7d841-72e5-4f3c-a483-5030a66f0c73","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b24e2df5507228607f00a33ec026517b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"b24e2df5507228607f00a33ec026517b","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/b6088aad-ad8f-46ba-adae-cb97297aa361"},{"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/31a0323a-863d-4bb4-92e4-9eac9e8a125d"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73"}}},"level":"info","message":"received a callback","requestID":"b24e2df5507228607f00a33ec026517b"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b244b710-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faff7d841-72e5-4f3c-a483-5030a66f0c73","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b65ddbcc-f60b-4593-b6d4-558062ef1d90","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.582129} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":611,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.831667,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b244b710-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73","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":"b244b710-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b244b710-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73 200 9ms","method":"GET","requestID":"b244b710-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"b24e2df5507228607f00a33ec026517b","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.055","http_referrer":"","http_user_agent":"node-fetch","requestID":"b24e2df5507228607f00a33ec026517b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b24887a0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ef3bd39e-3ed1-4999-99a1-4c0df772dd0d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.629577} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":612,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":25.916257,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b24887a0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","object_type":"device","rebac_allow":false,"scope_allow":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":"b24887a0-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b24887a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b6088aad-ad8f-46ba-adae-cb97297aa361/signaling 200 32ms","method":"POST","requestID":"b24887a0-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b24db7c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU","level":"info","message":"auth send jwt","requestID":"b21640b3bc8d5c3aa0ed0ac69e706119"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b21640b3bc8d5c3aa0ed0ac69e706119","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec","requestID":"b21640b3bc8d5c3aa0ed0ac69e706119"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d21eaf3c-8eb5-469b-a561-4c05eb123517","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.6411095} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":613,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.877637,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b24db7c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b24db7c0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":614,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.761092,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b24db7c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b21640b3bc8d5c3aa0ed0ac69e706119","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620408,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b21640b3bc8d5c3aa0ed0ac69e706119","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/signaling 200 9ms","method":"POST","requestID":"b24db7c0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec","requestID":"b21640b3bc8d5c3aa0ed0ac69e706119"} experiment-1 | {"level":"info","message":"GET /experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec 200 35ms","method":"GET","requestID":"b21640b3bc8d5c3aa0ed0ac69e706119","responseTime":35,"status":200,"url":"/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"} gateway-1 | {"time_local":"02/Apr/2025:19:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec HTTP/1.1","status": "200","body_bytes_sent":"1284","request_time":"0.039","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b21640b3bc8d5c3aa0ed0ac69e706119"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU","level":"info","message":"auth send jwt","requestID":"9b7c077e5517b5b11d71754e7c8f5a28"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"9b7c077e5517b5b11d71754e7c8f5a28","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec","requestID":"9b7c077e5517b5b11d71754e7c8f5a28"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":615,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.732871,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9b7c077e5517b5b11d71754e7c8f5a28","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620408,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9b7c077e5517b5b11d71754e7c8f5a28","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Attempting to finish experiment","requestID":"9b7c077e5517b5b11d71754e7c8f5a28"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b255ce10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":616,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.854774,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b255ce10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620408,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b255ce10-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73","device":"b6088aad-ad8f-46ba-adae-cb97297aa361","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73","device":"31a0323a-863d-4bb4-92e4-9eac9e8a125d","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/aff7d841-72e5-4f3c-a483-5030a66f0c73' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"aff7d841-72e5-4f3c-a483-5030a66f0c73","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faff7d841-72e5-4f3c-a483-5030a66f0c73': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Faff7d841-72e5-4f3c-a483-5030a66f0c73","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"0dd2775b-fd4e-44a8-b9ba-dc7f7dd356eb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.728986} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec6a6d85-6037-4eb1-bf3c-98aceff21235","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.7292058} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"66eeb1de55d3e5cf176baaf9a5570469","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"66eeb1de55d3e5cf176baaf9a5570469","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"8febbfe787c99b477fbeda46bfe9b298","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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/b6088aad-ad8f-46ba-adae-cb97297aa361"},{"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/31a0323a-863d-4bb4-92e4-9eac9e8a125d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73"}}},"level":"info","message":"received a callback","requestID":"66eeb1de55d3e5cf176baaf9a5570469"} authorization-1 | {"level":"info","message":"POST /relations/update 200 33ms","method":"POST","requestID":"b255ce10-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"8febbfe787c99b477fbeda46bfe9b298","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/b6088aad-ad8f-46ba-adae-cb97297aa361"},{"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/31a0323a-863d-4bb4-92e4-9eac9e8a125d"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73"}}},"level":"info","message":"received a callback","requestID":"8febbfe787c99b477fbeda46bfe9b298"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b255ce10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73 204 89ms","method":"DELETE","requestID":"b255ce10-0ff4-11f0-acd3-db29ca75a471","responseTime":89,"status":204,"url":"/peerconnections/aff7d841-72e5-4f3c-a483-5030a66f0c73"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"},"level":"info","message":"Successfully finished experiment","requestID":"9b7c077e5517b5b11d71754e7c8f5a28"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b265fab0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fb6088aad-ad8f-46ba-adae-cb97297aa361","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"89d6b618-eca7-44a4-99ab-9208abadbb57","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.8235009} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":617,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.272459,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b265fab0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/b6088aad-ad8f-46ba-adae-cb97297aa361","object_type":"device","rebac_allow":false,"scope_allow":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":"b265fab0-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b265fab0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/b6088aad-ad8f-46ba-adae-cb97297aa361/signaling 200 32ms","method":"POST","requestID":"b265fab0-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/devices/b6088aad-ad8f-46ba-adae-cb97297aa361/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b26b2ad0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1963808-3783-4196-b4e7-633dc8c8a9ec': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc1963808-3783-4196-b4e7-633dc8c8a9ec","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"b3235ae2-c0bf-4fe0-867b-2890f52b249d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.8305082} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"627c404d-1992-44de-b6a5-89def5f37cee","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.8306625} authorization-1 | {"level":"info","message":"POST /relations/update 200 39ms","method":"POST","requestID":"9b7c077e5517b5b11d71754e7c8f5a28","responseTime":39,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F31a0323a-863d-4bb4-92e4-9eac9e8a125d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e32fc7d3-3675-47d8-a751-05f3a449310a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620408.8347604} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":618,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.823642,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b26b2ad0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b26b2ad0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b26b2ad0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/signaling 200 10ms","method":"POST","requestID":"b26b2ad0-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec","requestID":"9b7c077e5517b5b11d71754e7c8f5a28"} gateway-1 | {"time_local":"02/Apr/2025:19:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.291","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"9b7c077e5517b5b11d71754e7c8f5a28"} experiment-1 | {"level":"info","message":"DELETE /experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec 204 288ms","method":"DELETE","requestID":"9b7c077e5517b5b11d71754e7c8f5a28","responseTime":288,"status":204,"url":"/experiments/c1963808-3783-4196-b4e7-633dc8c8a9ec"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 239ms","method":"POST","requestID":"66eeb1de55d3e5cf176baaf9a5570469","responseTime":239,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 231ms","method":"POST","requestID":"8febbfe787c99b477fbeda46bfe9b298","responseTime":231,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"42e22a85847b7c82f748b2962f21f6a6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU","level":"info","message":"auth send jwt","requestID":"42e22a85847b7c82f748b2962f21f6a6"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"42e22a85847b7c82f748b2962f21f6a6","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.248","http_referrer":"","http_user_agent":"node-fetch","requestID":"66eeb1de55d3e5cf176baaf9a5570469"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.248","http_referrer":"","http_user_agent":"node-fetch","requestID":"8febbfe787c99b477fbeda46bfe9b298"} gateway-1 | {"time_local":"02/Apr/2025:19:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2541","request_time":"1.205","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"59be5ae37db3af446502df147779f910"} gateway-1 | {"time_local":"02/Apr/2025:19:00:08 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2539","request_time":"1.196","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"65ccf54db8a580edffc5e7c7b49cf7ef"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":619,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.990653,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"42e22a85847b7c82f748b2962f21f6a6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620408,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOH0.Y_FUhWDsk4wyDvIbxhjfc-L4jq9ZTrfbIyECiwEqzCU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"42e22a85847b7c82f748b2962f21f6a6","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/b6088aad-ad8f-46ba-adae-cb97297aa361' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/31a0323a-863d-4bb4-92e4-9eac9e8a125d' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fb0a7f87-7adb-4168-ac27-2a0bc0940b18","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620409.2514288} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"42e22a85847b7c82f748b2962f21f6a6","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"806e8942-a70f-454d-9956-f63374797fc6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620409.2551055} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"42e22a85847b7c82f748b2962f21f6a6","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"95f07a9b-dbaf-476b-82b2-8009aa35f100","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620409.4429727} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9fb838d9-2cba-4641-912c-abd64a13e8f5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620409.4432428} authorization-1 | {"level":"info","message":"POST /relations/update 200 190ms","method":"POST","requestID":"42e22a85847b7c82f748b2962f21f6a6","responseTime":190,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.442950732Z"}]},"request_id":"f47cbaf4-db0d-4962-a3bb-d46500aaa22b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620409.446736} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"42e22a85847b7c82f748b2962f21f6a6","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"42e22a85847b7c82f748b2962f21f6a6"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.478","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"42e22a85847b7c82f748b2962f21f6a6"} device-1 | {"level":"info","message":"POST /devices? 201 473ms","method":"POST","requestID":"42e22a85847b7c82f748b2962f21f6a6","responseTime":473,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOX0.LUgWNFG4XzXhBLvfFkGPy9x_4RTXE5UtS09EnSnQLoc","level":"info","message":"auth send jwt","requestID":"d219f4629774c5a0163febd5f31fde6c"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"d219f4629774c5a0163febd5f31fde6c","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"d219f4629774c5a0163febd5f31fde6c"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:09Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":620,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.678246,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:09Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d219f4629774c5a0163febd5f31fde6c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620409,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQwOX0.LUgWNFG4XzXhBLvfFkGPy9x_4RTXE5UtS09EnSnQLoc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d219f4629774c5a0163febd5f31fde6c","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"4a5d3ae2-8e50-4913-a568-581a830f8b2d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620409.5016282} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d219f4629774c5a0163febd5f31fde6c","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"13acbf6b-b2db-4396-b478-b63a8c1a06f1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620409.5053523} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"d219f4629774c5a0163febd5f31fde6c","responseTime":3,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"f1b8a397-101b-43d4-81bb-d754629395a9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620409.5382984} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"eccc030e-3ef3-49f0-aeab-179ecac3f0fd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620409.538818} authorization-1 | {"level":"info","message":"POST /relations/update 200 36ms","method":"POST","requestID":"d219f4629774c5a0163febd5f31fde6c","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.538269522Z"}]},"request_id":"af79a73c-5f08-4cf7-b97b-fbf75a3fbae2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620409.542201} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"d219f4629774c5a0163febd5f31fde6c","responseTime":2,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"d219f4629774c5a0163febd5f31fde6c"} gateway-1 | {"time_local":"02/Apr/2025:19:00:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.094","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d219f4629774c5a0163febd5f31fde6c"} device-1 | {"level":"info","message":"POST /devices? 201 92ms","method":"POST","requestID":"d219f4629774c5a0163febd5f31fde6c","responseTime":92,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMH0.vcjYolFUr8nCxoBsgZOCdRckjSo43-ZnmZI6VavLkAA","level":"info","message":"auth send jwt","requestID":"a1ee0f51b38d639ba756964ac7bd7999"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a1ee0f51b38d639ba756964ac7bd7999","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"a1ee0f51b38d639ba756964ac7bd7999"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:10Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":621,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.503563,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a1ee0f51b38d639ba756964ac7bd7999","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620410,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMH0.vcjYolFUr8nCxoBsgZOCdRckjSo43-ZnmZI6VavLkAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"a1ee0f51b38d639ba756964ac7bd7999","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.538269522Z"}]},"request_id":"aa096633-835d-4ac7-baf1-c70e61c73d86","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620410.6968377} authorization-1 | {"level":"info","message":"POST /relations/query 200 2ms","method":"POST","requestID":"a1ee0f51b38d639ba756964ac7bd7999","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"240bd0b3-cf81-4739-9be9-8b54cec6112f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620410.701173} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"a1ee0f51b38d639ba756964ac7bd7999","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.538269522Z"}]},"request_id":"a7ed6db1-74e5-43af-9736-ced83b33f7d1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620410.737908} authorization-1 | {"level":"info","message":"POST /relations/query 200 24ms","method":"POST","requestID":"a1ee0f51b38d639ba756964ac7bd7999","responseTime":24,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"a1ee0f51b38d639ba756964ac7bd7999"} device-1 | {"level":"info","message":"PATCH /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654 200 77ms","method":"PATCH","requestID":"a1ee0f51b38d639ba756964ac7bd7999","responseTime":77,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654"} gateway-1 | {"time_local":"02/Apr/2025:19:00:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.082","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"a1ee0f51b38d639ba756964ac7bd7999"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMH0.vcjYolFUr8nCxoBsgZOCdRckjSo43-ZnmZI6VavLkAA","level":"info","message":"auth send jwt","requestID":"8cdb30da005c62afe15a987940682044"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"8cdb30da005c62afe15a987940682044","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8cdb30da005c62afe15a987940682044"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:10Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":622,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.685473,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:10Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8cdb30da005c62afe15a987940682044","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620410,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMH0.vcjYolFUr8nCxoBsgZOCdRckjSo43-ZnmZI6VavLkAA"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8cdb30da005c62afe15a987940682044","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8cdb30da005c62afe15a987940682044"} gateway-1 | {"time_local":"02/Apr/2025:19:00:10 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/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.16","requestID":"8cdb30da005c62afe15a987940682044"} device-1 | {"level":"info","message":"POST /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/websocket 200 41ms","method":"POST","requestID":"8cdb30da005c62afe15a987940682044","responseTime":41,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"a701fbdf2eceb95542ae818a259f41b9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a701fbdf2eceb95542ae818a259f41b9","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/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":"a701fbdf2eceb95542ae818a259f41b9"} device-1 | {"level":"info","message":"OPTIONS /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/websocket 200 1ms","method":"OPTIONS","requestID":"a701fbdf2eceb95542ae818a259f41b9","responseTime":1,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMX0.755rftu8buMEbyRZ3J5iOxSi86Fn6mM2wSDLSf_0OSo","level":"info","message":"auth send jwt","requestID":"8805f8e449738f613c47f45ac893f965"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"8805f8e449738f613c47f45ac893f965","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"8805f8e449738f613c47f45ac893f965"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:11Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":623,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.760472,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:11Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8805f8e449738f613c47f45ac893f965","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620411,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMX0.755rftu8buMEbyRZ3J5iOxSi86Fn6mM2wSDLSf_0OSo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"8805f8e449738f613c47f45ac893f965","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"8805f8e449738f613c47f45ac893f965"} gateway-1 | {"time_local":"02/Apr/2025:19:00:11 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.045","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8805f8e449738f613c47f45ac893f965"} device-1 | {"level":"info","message":"POST /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/websocket 200 40ms","method":"POST","requestID":"8805f8e449738f613c47f45ac893f965","responseTime":40,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w","level":"info","message":"auth send jwt","requestID":"6f9747b00e2d3d645741753a60bd6f31"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6f9747b00e2d3d645741753a60bd6f31"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6f9747b00e2d3d645741753a60bd6f31","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":624,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.908896,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6f9747b00e2d3d645741753a60bd6f31","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620412,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6f9747b00e2d3d645741753a60bd6f31","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.442950732Z"}]},"request_id":"9997fcdf-ddba-4d95-833a-ab5da51466cb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.0512161} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"6f9747b00e2d3d645741753a60bd6f31","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6f9747b00e2d3d645741753a60bd6f31"} gateway-1 | {"time_local":"02/Apr/2025:19:00:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07? 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":"6f9747b00e2d3d645741753a60bd6f31"} device-1 | {"level":"info","message":"GET /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07? 200 12ms","method":"GET","requestID":"6f9747b00e2d3d645741753a60bd6f31","responseTime":12,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w","level":"info","message":"auth send jwt","requestID":"eb4700c8fbc38c822f6eb272e51d2260"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"eb4700c8fbc38c822f6eb272e51d2260","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"eb4700c8fbc38c822f6eb272e51d2260"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":625,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.764,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"eb4700c8fbc38c822f6eb272e51d2260","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620412,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"eb4700c8fbc38c822f6eb272e51d2260","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.538269522Z"}]},"request_id":"131513a9-99af-4cb2-ac58-ec41fcb6e15a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.0929751} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eb4700c8fbc38c822f6eb272e51d2260","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"eb4700c8fbc38c822f6eb272e51d2260"} gateway-1 | {"time_local":"02/Apr/2025:19:00:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654? 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":"eb4700c8fbc38c822f6eb272e51d2260"} device-1 | {"level":"info","message":"GET /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654? 200 13ms","method":"GET","requestID":"eb4700c8fbc38c822f6eb272e51d2260","responseTime":13,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w","level":"info","message":"auth send jwt","requestID":"4935aa99c4674c9c365f29455970f909"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"4935aa99c4674c9c365f29455970f909","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"4935aa99c4674c9c365f29455970f909"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":626,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.907082,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"4935aa99c4674c9c365f29455970f909","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620412,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"4935aa99c4674c9c365f29455970f909","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Attempting to run experiment","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Attempting to book experiment","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Successfully booked experiment","requestID":"4935aa99c4674c9c365f29455970f909"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b46c5200-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b46ca020-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":627,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.929988,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b46c5200-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620412,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b46c5200-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":628,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.955245,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b46ca020-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620412,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b46ca020-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.442950732Z"}]},"request_id":"be8ff18a-0c78-4dd8-b61a-86643d88b0cd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.2262743} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"b46c5200-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.538269522Z"}]},"request_id":"48f3390a-68a8-4bfe-86b4-95929bf4d372","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.2278986} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b46ca020-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b46c5200-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07? 200 41ms","method":"GET","requestID":"b46c5200-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b46ca020-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654? 200 41ms","method":"GET","requestID":"b46ca020-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Setting up experiment","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Successfully locked booking for experiment","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Attempting to update booking for experiment","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Successfully updated booking for experiment","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Successfully set up experiment","requestID":"4935aa99c4674c9c365f29455970f909"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b481fce0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b4824b00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b4829920-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":629,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.777854,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b481fce0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620412,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Successfully running experiment","requestID":"4935aa99c4674c9c365f29455970f909"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b481fce0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":630,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.025172,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b4824b00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620412,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b4824b00-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a44dc2da-a001-4164-a08b-935a8d42caa1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.344594} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.538269522Z"}]},"request_id":"ff178b46-a778-4328-bbbc-8977a69424ed","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.371949} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":631,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.817508,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b4829920-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","object_type":"device","rebac_allow":false,"scope_allow":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":"b4829920-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b4824b00-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.442950732Z"}]},"request_id":"163fefb8-4280-415d-a741-c77882d56a69","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.373424} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b481fce0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"83aa1824-57a8-4bae-9404-566f53637484","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.3797915} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"462808d3-45cb-4316-85a8-e43eed97ec2a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.380128} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b4829920-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/signaling 200 43ms","method":"POST","requestID":"b4829920-0ff4-11f0-acd3-db29ca75a471","responseTime":43,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/signaling"} authorization-1 | {"level":"info","message":"POST /relations/update 200 38ms","method":"POST","requestID":"4935aa99c4674c9c365f29455970f909","responseTime":38,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b4824b00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654? 200 47ms","method":"GET","requestID":"b4824b00-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b481fce0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07? 200 50ms","method":"GET","requestID":"b481fce0-0ff4-11f0-acd3-db29ca75a471","responseTime":50,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b489c510-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bf136286-ecf6-43e2-b44e-898810b62218","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.3901782} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":632,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.151192,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b48aaf70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b489c510-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","rebac_allow":false,"scope_allow":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":"b489c510-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b489c510-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/signaling 200 34ms","method":"POST","requestID":"b489c510-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"level":"info","message":"POST /experiments? 201 319ms","method":"POST","requestID":"4935aa99c4674c9c365f29455970f909","responseTime":319,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.322","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4935aa99c4674c9c365f29455970f909"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"28c000e3-41b2-49a3-8efe-cc8cbbd646fd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.4206169} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":633,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.359517,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b48aaf70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","object_type":"device","rebac_allow":false,"scope_allow":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":"b48aaf70-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w","level":"info","message":"auth send jwt","requestID":"7a75fdf8a30f9395959dc976bf5f81c3"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7a75fdf8a30f9395959dc976bf5f81c3","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b48aaf70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/signaling 200 36ms","method":"POST","requestID":"b48aaf70-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"7a75fdf8a30f9395959dc976bf5f81c3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b4907bd0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":634,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.874725,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7a75fdf8a30f9395959dc976bf5f81c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620412,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"7a75fdf8a30f9395959dc976bf5f81c3","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.442950732Z"}]},"request_id":"f550d66b-e35e-42fa-bafd-b7c5189bdaee","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.437214} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7eab4c8-508c-421a-a478-576430d2b5f2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.4373202} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"7a75fdf8a30f9395959dc976bf5f81c3","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":635,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.901492,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b4907bd0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","rebac_allow":false,"scope_allow":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":"b4907bd0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"7a75fdf8a30f9395959dc976bf5f81c3"} gateway-1 | {"time_local":"02/Apr/2025:19:00:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7a75fdf8a30f9395959dc976bf5f81c3"} device-1 | {"level":"info","message":"GET /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07? 200 41ms","method":"GET","requestID":"7a75fdf8a30f9395959dc976bf5f81c3","responseTime":41,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b4907bd0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/signaling 200 40ms","method":"POST","requestID":"b4907bd0-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"4935aa99c4674c9c365f29455970f909"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Building connection plan","requestID":"4935aa99c4674c9c365f29455970f909"} 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":"569b8b9b-b899-42ab-976f-1892da9b3de1"},{"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":"1985004b-9689-4382-b383-3ea108081600"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5c38306c-1313-45a5-ab0c-30b9e4b3be0d"}]},"level":"info","message":"Built pairwise service configurations","requestID":"4935aa99c4674c9c365f29455970f909"} 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/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07"},{"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/6fed88b3-1c8f-4fc5-b05d-15f338c58654"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"4935aa99c4674c9c365f29455970f909"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w","level":"info","message":"auth send jwt","requestID":"72b7c6bf58502d80f3ffabe755c28845"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"72b7c6bf58502d80f3ffabe755c28845","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"72b7c6bf58502d80f3ffabe755c28845"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Received request.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:38534","level":"info","msg":"Sent response.","req_id":636,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.892413,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620412,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":637,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.030895,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"72b7c6bf58502d80f3ffabe755c28845","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620412,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxMn0.cY7iz1NHpsy0ALdoO0RtGJcKFxQSXkVNMX4iirPZk5w"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"72b7c6bf58502d80f3ffabe755c28845","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:09.538269522Z"}]},"request_id":"c1747e64-db55-4c40-bf8b-39a9e29a8305","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.4842954} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"72b7c6bf58502d80f3ffabe755c28845","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"72b7c6bf58502d80f3ffabe755c28845"} gateway-1 | {"time_local":"02/Apr/2025:19:00:12 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"72b7c6bf58502d80f3ffabe755c28845"} device-1 | {"level":"info","message":"GET /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654? 200 39ms","method":"GET","requestID":"72b7c6bf58502d80f3ffabe755c28845","responseTime":39,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"d2b6c1fb-b076-41ec-bec4-0e793035eb3f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.5156748} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"fc1d99e6-0c9a-4a11-80a5-5b4ec94be0ad","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.515972} authorization-1 | {"level":"info","message":"POST /relations/update 200 29ms","method":"POST","requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a'","requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a'","requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 60ms","method":"POST","requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471","responseTime":60,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"b4970b80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a","device":"1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","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/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"4935aa99c4674c9c365f29455970f909"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b4ae8b20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fed3fd9d-7cbe-445d-b8ef-209fb6718d46","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.6317647} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":638,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.790909,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b4ae8b20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","object_type":"device","rebac_allow":false,"scope_allow":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":"b4ae8b20-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"device":"1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b4ae8b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/signaling 200 38ms","method":"POST","requestID":"b4ae8b20-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b4b4ccb0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2e9c3498-e997-485e-8f9a-57e591c678b7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620412.671489} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":639,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.720206,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:12Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b4b4ccb0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b4b4ccb0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b4b4ccb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/signaling 200 9ms","method":"POST","requestID":"b4b4ccb0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/signaling"} device-1 | {"device":"6fed88b3-1c8f-4fc5-b05d-15f338c58654","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"2ac70dab-ac92-49fa-ad6b-cc244e34803a","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 4149467140575345256 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:yTW6\r\na=ice-pwd:0XzwnwnT0xuyw6A8fi7+YYrF\r\na=ice-options:trickle\r\na=fingerprint:sha-256 B9:20:C9:09:C0:17:16:E6:4D:B1:35:B9:37:F3:3B:98:D5:FC:4D:2B:87:07:D1:40:7D:97:3F:63:11:49:3E:0A\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"6fed88b3-1c8f-4fc5-b05d-15f338c58654","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6fed88b3-1c8f-4fc5-b05d-15f338c58654","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6fed88b3-1c8f-4fc5-b05d-15f338c58654","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/2ac70dab-ac92-49fa-ad6b-cc244e34803a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2ac70dab-ac92-49fa-ad6b-cc244e34803a","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3d8fa977ff5d5b0a43fe15e947e5ddfe","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3d8fa977ff5d5b0a43fe15e947e5ddfe","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/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07"},{"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/6fed88b3-1c8f-4fc5-b05d-15f338c58654"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a"}}},"level":"info","message":"received a callback","requestID":"3d8fa977ff5d5b0a43fe15e947e5ddfe"} device-1 | {"content":{"candidate":"candidate:3220032501 1 udp 2113937151 4ead7a10-4365-4eb4-8ce9-ddb31a86a15d.local 47293 typ host generation 0 ufrag yTW6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"6fed88b3-1c8f-4fc5-b05d-15f338c58654","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} gateway-1 | {"time_local":"02/Apr/2025:19:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"3d8fa977ff5d5b0a43fe15e947e5ddfe"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 41ms","method":"POST","requestID":"3d8fa977ff5d5b0a43fe15e947e5ddfe","responseTime":41,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"6fed88b3-1c8f-4fc5-b05d-15f338c58654","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"data":{"peerconnection":"2ac70dab-ac92-49fa-ad6b-cc244e34803a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"2ac70dab-ac92-49fa-ad6b-cc244e34803a","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/2ac70dab-ac92-49fa-ad6b-cc244e34803a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2ac70dab-ac92-49fa-ad6b-cc244e34803a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"0fa025570fe7e98879ceeb51d819573c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"0fa025570fe7e98879ceeb51d819573c","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/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07"},{"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/6fed88b3-1c8f-4fc5-b05d-15f338c58654"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a"}}},"level":"info","message":"received a callback","requestID":"0fa025570fe7e98879ceeb51d819573c"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"b5fd7950-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:14Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2ac70dab-ac92-49fa-ad6b-cc244e34803a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c20a3f4c-d4bc-4707-be79-7139e3b50ccc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620414.8262734} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":640,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.906449,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b5fd7950-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a","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":"b5fd7950-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"b5fd7950-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a 200 10ms","method":"GET","requestID":"b5fd7950-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxNH0.Q1ubLlqO4Ad2eIG8jTC9D8M6H5hJMO81neX2VC0sJqE","level":"info","message":"auth send jwt","requestID":"c25173a49ffb5b1e5b6cebf5c9f598b6"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"c25173a49ffb5b1e5b6cebf5c9f598b6","responseTime":28,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","requestID":"c25173a49ffb5b1e5b6cebf5c9f598b6"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":641,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.850316,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:14Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c25173a49ffb5b1e5b6cebf5c9f598b6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620414,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxNH0.Q1ubLlqO4Ad2eIG8jTC9D8M6H5hJMO81neX2VC0sJqE"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c25173a49ffb5b1e5b6cebf5c9f598b6","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 148ms","method":"POST","requestID":"0fa025570fe7e98879ceeb51d819573c","responseTime":148,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.181","http_referrer":"","http_user_agent":"node-fetch","requestID":"0fa025570fe7e98879ceeb51d819573c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6137250-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:14Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":642,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.12287,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:14Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","requestID":"c25173a49ffb5b1e5b6cebf5c9f598b6"} experiment-1 | {"level":"info","message":"GET /experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8 200 68ms","method":"GET","requestID":"c25173a49ffb5b1e5b6cebf5c9f598b6","responseTime":68,"status":200,"url":"/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"} gateway-1 | {"time_local":"02/Apr/2025:19:00:14 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c25173a49ffb5b1e5b6cebf5c9f598b6"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3c924bf-cafa-469b-9733-2fa7e642bc09","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620414.9787023} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b6137250-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","object_type":"device","rebac_allow":false,"scope_allow":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":"b6137250-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxNX0.HPKzcjdq91atJ3NupcCSZHC8MO5xgEArH39X5ov0GrA","level":"info","message":"auth send jwt","requestID":"dbf1e786dc4aa93cce2eda0a57044e85"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"dbf1e786dc4aa93cce2eda0a57044e85","responseTime":13,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","requestID":"dbf1e786dc4aa93cce2eda0a57044e85"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6137250-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/signaling 200 60ms","method":"POST","requestID":"b6137250-0ff4-11f0-acd3-db29ca75a471","responseTime":60,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/signaling"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":643,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.869695,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"dbf1e786dc4aa93cce2eda0a57044e85","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620415,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxNX0.HPKzcjdq91atJ3NupcCSZHC8MO5xgEArH39X5ov0GrA"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"dbf1e786dc4aa93cce2eda0a57044e85","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6241420-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Attempting to finish experiment","requestID":"dbf1e786dc4aa93cce2eda0a57044e85"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"b6259ac0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":644,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.294314,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c184afae-8893-43cf-aa84-f19fe47cca5c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.0794423} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b6241420-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","rebac_allow":false,"scope_allow":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":"b6241420-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":645,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":2.879284,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b6259ac0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620415,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxNX0.HPKzcjdq91atJ3NupcCSZHC8MO5xgEArH39X5ov0GrA"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","method":"POST","requestID":"b6259ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6241420-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/signaling 200 84ms","method":"POST","requestID":"b6241420-0ff4-11f0-acd3-db29ca75a471","responseTime":84,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/signaling"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a","device":"1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","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/2ac70dab-ac92-49fa-ad6b-cc244e34803a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"2ac70dab-ac92-49fa-ad6b-cc244e34803a","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"6fed88b3-1c8f-4fc5-b05d-15f338c58654","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6fed88b3-1c8f-4fc5-b05d-15f338c58654","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"6fed88b3-1c8f-4fc5-b05d-15f338c58654","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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":"e659f51709b3392924d6c75f8c4d88d9","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e659f51709b3392924d6c75f8c4d88d9","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07"},{"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/6fed88b3-1c8f-4fc5-b05d-15f338c58654"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a"}}},"level":"info","message":"received a callback","requestID":"e659f51709b3392924d6c75f8c4d88d9"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"45e38eabc49f36704c73ea2bb7068cc4","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"45e38eabc49f36704c73ea2bb7068cc4","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/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07"},{"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/6fed88b3-1c8f-4fc5-b05d-15f338c58654"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a"}}},"level":"info","message":"received a callback","requestID":"45e38eabc49f36704c73ea2bb7068cc4"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2ac70dab-ac92-49fa-ad6b-cc244e34803a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F2ac70dab-ac92-49fa-ad6b-cc244e34803a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"f1b3d74f-f341-4892-829b-410e3f3e12a3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.251093} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"08297c36-19f5-4db6-8890-788dc9db26ca","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.2523124} authorization-1 | {"level":"info","message":"POST /relations/update 200 53ms","method":"POST","requestID":"b6259ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":53,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"2ac70dab-ac92-49fa-ad6b-cc244e34803a","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"b6259ac0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a 204 187ms","method":"DELETE","requestID":"b6259ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":187,"status":204,"url":"/peerconnections/2ac70dab-ac92-49fa-ad6b-cc244e34803a"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"},"level":"info","message":"Successfully finished experiment","requestID":"dbf1e786dc4aa93cce2eda0a57044e85"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b6555d50-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a41759f1-2647-406d-a736-0b56cf5ee003","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.4031944} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":646,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.750165,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b6555d50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"b6555d50-0ff4-11f0-acd3-db29ca75a471","responseTime":14,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b6555d50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/signaling 200 20ms","method":"POST","requestID":"b6555d50-0ff4-11f0-acd3-db29ca75a471","responseTime":20,"status":200,"url":"/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b65891a0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":647,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.193146,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F6fed88b3-1c8f-4fc5-b05d-15f338c58654","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9e56ab3e-3670-4fd1-a60f-c64ae45bbc26","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.447389} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b65891a0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"b65891a0-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b65891a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/signaling 200 42ms","method":"POST","requestID":"b65891a0-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"7aeffeb6-100e-4df2-be19-3dac69571ffd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.459894} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"043af618-ff02-421e-a469-a51541635c6b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.463256} authorization-1 | {"level":"info","message":"POST /relations/update 200 100ms","method":"POST","requestID":"dbf1e786dc4aa93cce2eda0a57044e85","responseTime":100,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8","requestID":"dbf1e786dc4aa93cce2eda0a57044e85"} gateway-1 | {"time_local":"02/Apr/2025:19:00:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.707","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"dbf1e786dc4aa93cce2eda0a57044e85"} experiment-1 | {"level":"info","message":"DELETE /experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8 204 668ms","method":"DELETE","requestID":"dbf1e786dc4aa93cce2eda0a57044e85","responseTime":668,"status":204,"url":"/experiments/4bcdbcb6-a2a7-4be2-88b1-fd35a1d54be8"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxNX0.HPKzcjdq91atJ3NupcCSZHC8MO5xgEArH39X5ov0GrA","level":"info","message":"auth send jwt","requestID":"6150a3a5ce3bc62e5e02a68876ce811c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6150a3a5ce3bc62e5e02a68876ce811c","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 482ms","method":"POST","requestID":"e659f51709b3392924d6c75f8c4d88d9","responseTime":482,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.485","http_referrer":"","http_user_agent":"node-fetch","requestID":"e659f51709b3392924d6c75f8c4d88d9"} device-1 | {"level":"info","message":"postDevices called","requestID":"6150a3a5ce3bc62e5e02a68876ce811c"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 476ms","method":"POST","requestID":"45e38eabc49f36704c73ea2bb7068cc4","responseTime":476,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.483","http_referrer":"","http_user_agent":"node-fetch","requestID":"45e38eabc49f36704c73ea2bb7068cc4"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":648,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.776998,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6150a3a5ce3bc62e5e02a68876ce811c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620415,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxNX0.HPKzcjdq91atJ3NupcCSZHC8MO5xgEArH39X5ov0GrA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6150a3a5ce3bc62e5e02a68876ce811c","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:19:00:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"3.748","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"d02faadef6c4ff56f903e07d5420c157"} gateway-1 | {"time_local":"02/Apr/2025:19:00:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2491","request_time":"4.992","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"db4473fa8ec0b7372806a1a303765796"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"f03e22a5-0ee4-4c46-98a1-f0727f54ac39","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.7782397} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"6150a3a5ce3bc62e5e02a68876ce811c","responseTime":28,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9a4d377a-5da2-4262-9090-8e81265f8f21","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.7884388} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"6150a3a5ce3bc62e5e02a68876ce811c","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/6fed88b3-1c8f-4fc5-b05d-15f338c58654' closed"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"ed136d7d-85f0-4a6c-bd80-6ee9e084bf92","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.840449} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4989eee3-a475-45f4-8b25-538cb3fcc59f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.8415651} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","method":"POST","requestID":"6150a3a5ce3bc62e5e02a68876ce811c","responseTime":49,"status":200,"url":"/relations/update"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/1e0d8d04-0e8e-47e7-be50-6d4cc7785f07' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:15.840418997Z"}]},"request_id":"124b8de6-a501-4592-8319-b3f6328ca6c5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.8479486} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"6150a3a5ce3bc62e5e02a68876ce811c","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"6150a3a5ce3bc62e5e02a68876ce811c"} device-1 | {"level":"info","message":"POST /devices? 201 180ms","method":"POST","requestID":"6150a3a5ce3bc62e5e02a68876ce811c","responseTime":180,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:15 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.184","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6150a3a5ce3bc62e5e02a68876ce811c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxNX0.HPKzcjdq91atJ3NupcCSZHC8MO5xgEArH39X5ov0GrA","level":"info","message":"auth send jwt","requestID":"83baae37b21f9e65db1ac627e9ee1ecc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"83baae37b21f9e65db1ac627e9ee1ecc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"83baae37b21f9e65db1ac627e9ee1ecc"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":649,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.811214,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:15Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"83baae37b21f9e65db1ac627e9ee1ecc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620415,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxNX0.HPKzcjdq91atJ3NupcCSZHC8MO5xgEArH39X5ov0GrA"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"83baae37b21f9e65db1ac627e9ee1ecc","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"be31d2c1-dcb4-40d8-b2bd-5f9236b0069b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.9810388} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"83baae37b21f9e65db1ac627e9ee1ecc","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"cd963d78-de6f-479f-b305-6b32270d6f30","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620415.9868114} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"83baae37b21f9e65db1ac627e9ee1ecc","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"6a83f26b-2b40-4270-a9d5-a3b285e4e5f8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620416.0677211} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d0cdbe2-773c-4ab0-a8a6-a3720ae14c39","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620416.0681882} authorization-1 | {"level":"info","message":"POST /relations/update 200 84ms","method":"POST","requestID":"83baae37b21f9e65db1ac627e9ee1ecc","responseTime":84,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:16.067691904Z"}]},"request_id":"d81d52e2-13f8-405a-9ffc-f537d56fd7cd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620416.0736773} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"83baae37b21f9e65db1ac627e9ee1ecc"} gateway-1 | {"time_local":"02/Apr/2025:19:00:16 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"83baae37b21f9e65db1ac627e9ee1ecc"} device-1 | {"level":"info","message":"POST /devices? 201 182ms","method":"POST","requestID":"83baae37b21f9e65db1ac627e9ee1ecc","responseTime":182,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"83baae37b21f9e65db1ac627e9ee1ecc","responseTime":4,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxN30.Z7ezb0RMVxALj_-Xbma_bOnY3BdKMKaRtTrqlbTWVw8","level":"info","message":"auth send jwt","requestID":"3cd207bbab91975443213c4c47ce0b29"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"3cd207bbab91975443213c4c47ce0b29","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"3cd207bbab91975443213c4c47ce0b29"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:17Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":650,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.997925,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:17Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3cd207bbab91975443213c4c47ce0b29","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620417,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxN30.Z7ezb0RMVxALj_-Xbma_bOnY3BdKMKaRtTrqlbTWVw8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"3cd207bbab91975443213c4c47ce0b29","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:16.067691904Z"}]},"request_id":"eb563887-6d4b-4b7b-af77-5fed1a983934","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620417.912431} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"3cd207bbab91975443213c4c47ce0b29","responseTime":31,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a0823244-1e0b-489e-af9d-dde6dcb7bdd0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620417.9438562} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"3cd207bbab91975443213c4c47ce0b29","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"3cd207bbab91975443213c4c47ce0b29"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:16.067691904Z"}]},"request_id":"03b8b9ef-aabc-45db-b637-ba6b3f688070","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620418.0000124} device-1 | {"level":"info","message":"PATCH /devices/90b15a23-eeab-49a4-abe2-033cbde24931 200 114ms","method":"PATCH","requestID":"3cd207bbab91975443213c4c47ce0b29","responseTime":114,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931"} gateway-1 | {"time_local":"02/Apr/2025:19:00:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/90b15a23-eeab-49a4-abe2-033cbde24931 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.144","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"3cd207bbab91975443213c4c47ce0b29"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"3cd207bbab91975443213c4c47ce0b29","responseTime":3,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOH0.7JXY4TLpcLy5cT3BN9H16NjO14tKli4KmsKYsgSEz-E","level":"info","message":"auth send jwt","requestID":"804588fa6c0787ab9ec3fb0e4e8f040b"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"804588fa6c0787ab9ec3fb0e4e8f040b","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:18Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"804588fa6c0787ab9ec3fb0e4e8f040b"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":651,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.798403,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:18Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"804588fa6c0787ab9ec3fb0e4e8f040b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620418,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOH0.7JXY4TLpcLy5cT3BN9H16NjO14tKli4KmsKYsgSEz-E"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"804588fa6c0787ab9ec3fb0e4e8f040b","responseTime":10,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:19:00:18 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/90b15a23-eeab-49a4-abe2-033cbde24931/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.095","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"804588fa6c0787ab9ec3fb0e4e8f040b"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"804588fa6c0787ab9ec3fb0e4e8f040b"} device-1 | {"level":"info","message":"POST /devices/90b15a23-eeab-49a4-abe2-033cbde24931/websocket 200 66ms","method":"POST","requestID":"804588fa6c0787ab9ec3fb0e4e8f040b","responseTime":66,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931' connected"} gateway-1 | {"time_local":"02/Apr/2025:19:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/2a433fe6-c55e-469d-8c6a-f96490977b71/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":"e5c3e4d4248e79aab33908ef877057ab"} device-1 | {"level":"info","message":"OPTIONS /devices/2a433fe6-c55e-469d-8c6a-f96490977b71/websocket 200 1ms","method":"OPTIONS","requestID":"e5c3e4d4248e79aab33908ef877057ab","responseTime":1,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71/websocket"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e5c3e4d4248e79aab33908ef877057ab","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e5c3e4d4248e79aab33908ef877057ab","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo","level":"info","message":"auth send jwt","requestID":"3a6e076ffeb0009b18bb1fbc42b4edbb"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"3a6e076ffeb0009b18bb1fbc42b4edbb","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3a6e076ffeb0009b18bb1fbc42b4edbb"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":652,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.754425,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3a6e076ffeb0009b18bb1fbc42b4edbb","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620419,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"3a6e076ffeb0009b18bb1fbc42b4edbb","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3a6e076ffeb0009b18bb1fbc42b4edbb"} gateway-1 | {"time_local":"02/Apr/2025:19:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/2a433fe6-c55e-469d-8c6a-f96490977b71/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.084","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3a6e076ffeb0009b18bb1fbc42b4edbb"} device-1 | {"level":"info","message":"POST /devices/2a433fe6-c55e-469d-8c6a-f96490977b71/websocket 200 80ms","method":"POST","requestID":"3a6e076ffeb0009b18bb1fbc42b4edbb","responseTime":80,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo","level":"info","message":"auth send jwt","requestID":"5204187f5109146249b8387c2f41bdd1"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5204187f5109146249b8387c2f41bdd1","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5204187f5109146249b8387c2f41bdd1"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":653,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.768035,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5204187f5109146249b8387c2f41bdd1","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620419,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"5204187f5109146249b8387c2f41bdd1","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:15.840418997Z"}]},"request_id":"e90bea90-ec30-4374-b3ee-f0413edc9ce2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.4257617} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"5204187f5109146249b8387c2f41bdd1","responseTime":28,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5204187f5109146249b8387c2f41bdd1"} gateway-1 | {"time_local":"02/Apr/2025:19:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a433fe6-c55e-469d-8c6a-f96490977b71? 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":"5204187f5109146249b8387c2f41bdd1"} device-1 | {"level":"info","message":"GET /devices/2a433fe6-c55e-469d-8c6a-f96490977b71? 200 38ms","method":"GET","requestID":"5204187f5109146249b8387c2f41bdd1","responseTime":38,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"779b0f7f168c730a9782c1d6afd4989b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo","level":"info","message":"auth send jwt","requestID":"779b0f7f168c730a9782c1d6afd4989b"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"779b0f7f168c730a9782c1d6afd4989b","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":654,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.806304,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"779b0f7f168c730a9782c1d6afd4989b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620419,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"779b0f7f168c730a9782c1d6afd4989b","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:16.067691904Z"}]},"request_id":"1b913304-cab1-4c6e-a794-43723c83bbf8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.446139} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"779b0f7f168c730a9782c1d6afd4989b","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"779b0f7f168c730a9782c1d6afd4989b"} device-1 | {"level":"info","message":"GET /devices/90b15a23-eeab-49a4-abe2-033cbde24931? 200 39ms","method":"GET","requestID":"779b0f7f168c730a9782c1d6afd4989b","responseTime":39,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/90b15a23-eeab-49a4-abe2-033cbde24931? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"779b0f7f168c730a9782c1d6afd4989b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo","level":"info","message":"auth send jwt","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":655,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.196682,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620419,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58","responseTime":35,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Attempting to run experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Attempting to book experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Successfully booked experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b8da8190-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b8dacfb0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":656,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.841661,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b8da8190-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620419,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"b8da8190-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58910","level":"info","msg":"Received request.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58910","level":"info","msg":"Sent response.","req_id":657,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.171463,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b8dacfb0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620419,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"b8dacfb0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:16.067691904Z"}]},"request_id":"8e0d6d0b-bfb1-4645-86e1-4ada3e796062","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.642275} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:15.840418997Z"}]},"request_id":"6009846b-e320-4670-b7de-43ecc2c60e6d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.6434028} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"b8dacfb0-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"b8da8190-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b8dacfb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/90b15a23-eeab-49a4-abe2-033cbde24931? 200 49ms","method":"GET","requestID":"b8dacfb0-0ff4-11f0-acd3-db29ca75a471","responseTime":49,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b8da8190-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/2a433fe6-c55e-469d-8c6a-f96490977b71? 200 53ms","method":"GET","requestID":"b8da8190-0ff4-11f0-acd3-db29ca75a471","responseTime":53,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Setting up experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Successfully locked booking for experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Attempting to update booking for experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Successfully updated booking for experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Successfully set up experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b8f81bb0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58910","level":"info","msg":"Received request.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Successfully running experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} authorization-1 | {"client_addr":"127.0.0.1:58910","level":"info","msg":"Sent response.","req_id":658,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.831698,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b8f81bb0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620419,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"b8f81bb0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"b8f90610-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58910","level":"info","msg":"Received request.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58910","level":"info","msg":"Sent response.","req_id":659,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.977872,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b8f90610-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620419,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"b8f90610-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b8fa1780-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:15.840418997Z"}]},"request_id":"3b739757-4acb-4c53-b703-faa3b5cce083","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.8325412} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:16.067691904Z"}]},"request_id":"e181faf9-cdf8-4107-9dc1-67aaf86cf85e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.8590095} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"b8f81bb0-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"b8f90610-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffb2fd166-d043-4935-888c-c3015c7fb171#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffb2fd166-d043-4935-888c-c3015c7fb171","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"8d4ec3ab-af76-435e-a441-bf2c3a67f219","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.8624341} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ced8a791-adf2-4804-8d0e-6dc08b47ebe9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.863463} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58","responseTime":43,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b8f81bb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/2a433fe6-c55e-469d-8c6a-f96490977b71? 200 48ms","method":"GET","requestID":"b8f81bb0-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71?"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"level":"info","message":"POST /experiments? 201 392ms","method":"POST","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58","responseTime":392,"status":201,"url":"/experiments?"} authorization-1 | {"client_addr":"127.0.0.1:58910","level":"info","msg":"Received request.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} gateway-1 | {"time_local":"02/Apr/2025:19:00:19 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.399","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo","level":"info","message":"auth send jwt","requestID":"d060e36080c819c74b980c3543d56a84"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"d060e36080c819c74b980c3543d56a84","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"b8f90610-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"009d5d94-fb29-42e9-8469-291e89aef82f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.9110978} device-1 | {"level":"info","message":"GET /devices/90b15a23-eeab-49a4-abe2-033cbde24931? 200 88ms","method":"GET","requestID":"b8f90610-0ff4-11f0-acd3-db29ca75a471","responseTime":88,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9069aa0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d060e36080c819c74b980c3543d56a84"} authorization-1 | {"client_addr":"127.0.0.1:58910","level":"info","msg":"Sent response.","req_id":660,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":39.032576,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b8fa1780-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 83ms","method":"POST","requestID":"b8fa1780-0ff4-11f0-acd3-db29ca75a471","responseTime":83,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d83c5d7b-8acf-4464-8fd0-a8d3719423af","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.9571762} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":661,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":5.245705,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":662,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.995505,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:19Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b9069aa0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 45ms","method":"POST","requestID":"b9069aa0-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d060e36080c819c74b980c3543d56a84","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620419,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","method":"POST","requestID":"d060e36080c819c74b980c3543d56a84","responseTime":46,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:15.840418997Z"}]},"request_id":"a290eb48-1aa0-48da-8f28-122a401df431","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620419.9680686} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d060e36080c819c74b980c3543d56a84","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b8fa1780-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/2a433fe6-c55e-469d-8c6a-f96490977b71/signaling 200 114ms","method":"POST","requestID":"b8fa1780-0ff4-11f0-acd3-db29ca75a471","responseTime":114,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b90fc260-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9069aa0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/2a433fe6-c55e-469d-8c6a-f96490977b71/signaling 200 62ms","method":"POST","requestID":"b9069aa0-0ff4-11f0-acd3-db29ca75a471","responseTime":62,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9145640-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":663,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.138064,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"eed52542-9c1a-4790-a37e-55ef491dd412","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620420.0032206} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b90fc260-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","rebac_allow":false,"scope_allow":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":"b90fc260-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d060e36080c819c74b980c3543d56a84"} gateway-1 | {"time_local":"02/Apr/2025:19:00:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/2a433fe6-c55e-469d-8c6a-f96490977b71? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.128","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d060e36080c819c74b980c3543d56a84"} device-1 | {"level":"info","message":"GET /devices/2a433fe6-c55e-469d-8c6a-f96490977b71? 200 92ms","method":"GET","requestID":"d060e36080c819c74b980c3543d56a84","responseTime":92,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71?"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":664,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.963352,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7b87a916-8310-495d-b29d-14e01eca7d2e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620420.0101686} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b9145640-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"b9145640-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyMH0.aILfOso2ImRUhswGA5x-hm6gV8yMxBhByXjxYy-PrOE","level":"info","message":"auth send jwt","requestID":"92ca1f42e0b629233dbd5e500a67217f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b90fc260-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/90b15a23-eeab-49a4-abe2-033cbde24931/signaling 200 48ms","method":"POST","requestID":"b90fc260-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9145640-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Building connection plan","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} 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":"122ccdb1-e305-4b2f-917e-cf019c97cbdf"},{"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":"3329588f-e16c-4925-812c-f84a2efa9fc4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"103ee8f3-abce-4c81-8a5e-46ccd5db2064"}]},"level":"info","message":"Built pairwise service configurations","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} 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/2a433fe6-c55e-469d-8c6a-f96490977b71"},{"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/90b15a23-eeab-49a4-abe2-033cbde24931"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} device-1 | {"level":"info","message":"POST /devices/90b15a23-eeab-49a4-abe2-033cbde24931/signaling 200 45ms","method":"POST","requestID":"b9145640-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 40ms","method":"GET","requestID":"92ca1f42e0b629233dbd5e500a67217f","responseTime":40,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":665,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.818781,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:20Z"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"b91b5b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"92ca1f42e0b629233dbd5e500a67217f"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b91b5b20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620419,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQxOX0.mGlWoG-COP4V4A6V2k2kp9s1_66NmcfhpUScn9sIPBo"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b91b5b20-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":666,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.702985,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"92ca1f42e0b629233dbd5e500a67217f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620420,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyMH0.aILfOso2ImRUhswGA5x-hm6gV8yMxBhByXjxYy-PrOE"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"92ca1f42e0b629233dbd5e500a67217f","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:16.067691904Z"}]},"request_id":"9f94878f-d281-4a88-b3a9-9d28e8eb8622","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620420.0644817} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"92ca1f42e0b629233dbd5e500a67217f","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"92ca1f42e0b629233dbd5e500a67217f"} gateway-1 | {"time_local":"02/Apr/2025:19:00:20 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/90b15a23-eeab-49a4-abe2-033cbde24931? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"92ca1f42e0b629233dbd5e500a67217f"} device-1 | {"level":"info","message":"GET /devices/90b15a23-eeab-49a4-abe2-033cbde24931? 200 49ms","method":"GET","requestID":"92ca1f42e0b629233dbd5e500a67217f","responseTime":49,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"6ce4bcbe-adde-4f7a-a1b3-be11474032b8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620420.1135004} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b5828d0f-debc-4b64-9828-226702e6376e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620420.1139941} authorization-1 | {"level":"info","message":"POST /relations/update 200 16ms","method":"POST","requestID":"b91b5b20-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"b91b5b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"b91b5b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2'","requestID":"b91b5b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2'","requestID":"b91b5b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"b91b5b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 107ms","method":"POST","requestID":"b91b5b20-0ff4-11f0-acd3-db29ca75a471","responseTime":107,"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":"b91b5b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2","device":"2a433fe6-c55e-469d-8c6a-f96490977b71","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/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"5b3b0fcb6fc735b30ae5b7c7f4f90f58"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b9404840-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f3a66dd8-482b-4489-9452-b402864c0e0e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620420.2978857} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":667,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.496433,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b9404840-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} device-1 | {"device":"2a433fe6-c55e-469d-8c6a-f96490977b71","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"2a433fe6-c55e-469d-8c6a-f96490977b71","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b9404840-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/2a433fe6-c55e-469d-8c6a-f96490977b71/signaling 200 13ms","method":"POST","requestID":"b9404840-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b9404840-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"b942b940-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4201de0d-1124-4318-a78c-b969d5d1e90b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620420.33721} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":668,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.634886,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:20Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b942b940-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","rebac_allow":false,"scope_allow":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":"b942b940-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"b942b940-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/90b15a23-eeab-49a4-abe2-033cbde24931/signaling 200 47ms","method":"POST","requestID":"b942b940-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931/signaling"} device-1 | {"device":"90b15a23-eeab-49a4-abe2-033cbde24931","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"6a4d1f98-ac22-44ef-b384-738950c7e0a2","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 1393398357079028814 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:ls7W\r\na=ice-pwd:cr4h6ktGEDrWKH+bn0AKlrVe\r\na=ice-options:trickle\r\na=fingerprint:sha-256 79:06:D3:6F:84:BF:9E:D6:89:7F:72:F7:4B:9B:28:D1:3B:C6:D6:68:D8:22:34:61:83:6E:15:46:EA:F7:EC:58\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"2a433fe6-c55e-469d-8c6a-f96490977b71","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:2114406682 1 udp 2113937151 a9ab56df-c127-4e05-a71c-99a0dd8d4c4e.local 41397 typ host generation 0 ufrag ls7W network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"2a433fe6-c55e-469d-8c6a-f96490977b71","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"2a433fe6-c55e-469d-8c6a-f96490977b71","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/6a4d1f98-ac22-44ef-b384-738950c7e0a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a4d1f98-ac22-44ef-b384-738950c7e0a2","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"90b15a23-eeab-49a4-abe2-033cbde24931","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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":"a2f2b0ecab92d0abf17746b168dad194","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"a2f2b0ecab92d0abf17746b168dad194","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"90b15a23-eeab-49a4-abe2-033cbde24931","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"90b15a23-eeab-49a4-abe2-033cbde24931","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"2a433fe6-c55e-469d-8c6a-f96490977b71","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"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/2a433fe6-c55e-469d-8c6a-f96490977b71"},{"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/90b15a23-eeab-49a4-abe2-033cbde24931"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2"}}},"level":"info","message":"received a callback","requestID":"a2f2b0ecab92d0abf17746b168dad194"} device-1 | {"device":"90b15a23-eeab-49a4-abe2-033cbde24931","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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":"a2f2b0ecab92d0abf17746b168dad194","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.037","http_referrer":"","http_user_agent":"node-fetch","requestID":"a2f2b0ecab92d0abf17746b168dad194"} device-1 | {"data":{"peerconnection":"6a4d1f98-ac22-44ef-b384-738950c7e0a2","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"2a433fe6-c55e-469d-8c6a-f96490977b71","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"90b15a23-eeab-49a4-abe2-033cbde24931","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"6a4d1f98-ac22-44ef-b384-738950c7e0a2","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/6a4d1f98-ac22-44ef-b384-738950c7e0a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a4d1f98-ac22-44ef-b384-738950c7e0a2","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"744a4a0a1260d0c24a23a03be5638c14","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"2a433fe6-c55e-469d-8c6a-f96490977b71","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"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":"connected","url":"http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71"},{"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/90b15a23-eeab-49a4-abe2-033cbde24931"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2"}}},"level":"info","message":"received a callback","requestID":"744a4a0a1260d0c24a23a03be5638c14"} authentication-1 | {"level":"info","message":"GET /auth 200 29ms","method":"GET","requestID":"744a4a0a1260d0c24a23a03be5638c14","responseTime":29,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:22Z"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"ba852450-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a4d1f98-ac22-44ef-b384-738950c7e0a2","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"684af4e2-d854-4be3-b3a5-d61cb14bc82c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620422.4500532} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":669,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":27.075651,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ba852450-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"ba852450-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"ba852450-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2 200 41ms","method":"GET","requestID":"ba852450-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 108ms","method":"POST","requestID":"744a4a0a1260d0c24a23a03be5638c14","responseTime":108,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.138","http_referrer":"","http_user_agent":"node-fetch","requestID":"744a4a0a1260d0c24a23a03be5638c14"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ba92dff0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":670,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.312447,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"751440cc-01b0-4151-b246-79202947cf97","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620422.5455613} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ba92dff0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","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.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyMn0.hsM-tyM0zai0KyU9cIi1pgHgtTBjIxgADO6yCeJi6CI","level":"info","message":"auth send jwt","requestID":"29fab99e47f7427e2b25b192fdf9622c"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"29fab99e47f7427e2b25b192fdf9622c","responseTime":5,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/fb2fd166-d043-4935-888c-c3015c7fb171","requestID":"29fab99e47f7427e2b25b192fdf9622c"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"ba92dff0-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ba92dff0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/2a433fe6-c55e-469d-8c6a-f96490977b71/signaling 200 50ms","method":"POST","requestID":"ba92dff0-0ff4-11f0-acd3-db29ca75a471","responseTime":50,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ba9a8110-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":671,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":9.957125,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"29fab99e47f7427e2b25b192fdf9622c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620422,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyMn0.hsM-tyM0zai0KyU9cIi1pgHgtTBjIxgADO6yCeJi6CI"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"29fab99e47f7427e2b25b192fdf9622c","responseTime":42,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9d06d0ce-6a1d-4ab2-98df-cd2995eaccad","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620422.5977235} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":672,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.308906,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ba9a8110-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","rebac_allow":false,"scope_allow":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":"ba9a8110-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ba9a8110-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/90b15a23-eeab-49a4-abe2-033cbde24931/signaling 200 44ms","method":"POST","requestID":"ba9a8110-0ff4-11f0-acd3-db29ca75a471","responseTime":44,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931/signaling"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/fb2fd166-d043-4935-888c-c3015c7fb171","requestID":"29fab99e47f7427e2b25b192fdf9622c"} gateway-1 | {"time_local":"02/Apr/2025:19:00:22 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/fb2fd166-d043-4935-888c-c3015c7fb171 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.111","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"29fab99e47f7427e2b25b192fdf9622c"} experiment-1 | {"level":"info","message":"GET /experiments/fb2fd166-d043-4935-888c-c3015c7fb171 200 103ms","method":"GET","requestID":"29fab99e47f7427e2b25b192fdf9622c","responseTime":103,"status":200,"url":"/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyMn0.hsM-tyM0zai0KyU9cIi1pgHgtTBjIxgADO6yCeJi6CI","level":"info","message":"auth send jwt","requestID":"5739984480edfc3b95412fec7c6ce472"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"5739984480edfc3b95412fec7c6ce472","responseTime":6,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/fb2fd166-d043-4935-888c-c3015c7fb171","requestID":"5739984480edfc3b95412fec7c6ce472"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":673,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.997574,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5739984480edfc3b95412fec7c6ce472","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620422,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyMn0.hsM-tyM0zai0KyU9cIi1pgHgtTBjIxgADO6yCeJi6CI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"5739984480edfc3b95412fec7c6ce472","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Attempting to finish experiment","requestID":"5739984480edfc3b95412fec7c6ce472"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bab13d60-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":674,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.930009,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bab13d60-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620422,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyMn0.hsM-tyM0zai0KyU9cIi1pgHgtTBjIxgADO6yCeJi6CI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"bab13d60-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2","device":"2a433fe6-c55e-469d-8c6a-f96490977b71","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"90b15a23-eeab-49a4-abe2-033cbde24931","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"90b15a23-eeab-49a4-abe2-033cbde24931","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"90b15a23-eeab-49a4-abe2-033cbde24931","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/6a4d1f98-ac22-44ef-b384-738950c7e0a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"6a4d1f98-ac22-44ef-b384-738950c7e0a2","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a4d1f98-ac22-44ef-b384-738950c7e0a2': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F6a4d1f98-ac22-44ef-b384-738950c7e0a2","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"c74d4317-0464-4e0c-9df9-4bf2bd1318d5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620422.7967787} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee112eae-ae86-48a7-893a-b07a2196453e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620422.798042} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"49233e9c33c272a20609d3f449168c74","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"49233e9c33c272a20609d3f449168c74","responseTime":1,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"62a791dcc23cea863f6926c80bd4a0a2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"62a791dcc23cea863f6926c80bd4a0a2","responseTime":0,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 42ms","method":"POST","requestID":"bab13d60-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71"},{"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/90b15a23-eeab-49a4-abe2-033cbde24931"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2"}}},"level":"info","message":"received a callback","requestID":"62a791dcc23cea863f6926c80bd4a0a2"} 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/2a433fe6-c55e-469d-8c6a-f96490977b71"},{"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/90b15a23-eeab-49a4-abe2-033cbde24931"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2"}}},"level":"info","message":"received a callback","requestID":"49233e9c33c272a20609d3f449168c74"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bab13d60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2 204 136ms","method":"DELETE","requestID":"bab13d60-0ff4-11f0-acd3-db29ca75a471","responseTime":136,"status":204,"url":"/peerconnections/6a4d1f98-ac22-44ef-b384-738950c7e0a2"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"},"level":"info","message":"Successfully finished experiment","requestID":"5739984480edfc3b95412fec7c6ce472"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bad34450-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F2a433fe6-c55e-469d-8c6a-f96490977b71","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ae0733ae-6d35-464c-9c6a-53644e5d4bc0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620422.939538} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":675,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.83278,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bad34450-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71","object_type":"device","rebac_allow":false,"scope_allow":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":"bad34450-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bad34450-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/2a433fe6-c55e-469d-8c6a-f96490977b71/signaling 200 45ms","method":"POST","requestID":"bad34450-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":200,"url":"/devices/2a433fe6-c55e-469d-8c6a-f96490977b71/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"badae570-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffb2fd166-d043-4935-888c-c3015c7fb171': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Ffb2fd166-d043-4935-888c-c3015c7fb171","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"6db94dd4-98c1-46ec-8c1b-da9bfeb2777e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620422.9820368} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"b1f0adc1-b5fa-43e1-ba39-15ade3ffe39b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620422.9835851} authorization-1 | {"level":"info","message":"POST /relations/update 200 60ms","method":"POST","requestID":"5739984480edfc3b95412fec7c6ce472","responseTime":60,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":676,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.334708,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:22Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F90b15a23-eeab-49a4-abe2-033cbde24931","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"96459e36-138d-48fc-aa26-7580da99c1c5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620422.9976614} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"badae570-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"badae570-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"badae570-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/90b15a23-eeab-49a4-abe2-033cbde24931/signaling 200 62ms","method":"POST","requestID":"badae570-0ff4-11f0-acd3-db29ca75a471","responseTime":62,"status":200,"url":"/devices/90b15a23-eeab-49a4-abe2-033cbde24931/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/fb2fd166-d043-4935-888c-c3015c7fb171","requestID":"5739984480edfc3b95412fec7c6ce472"} gateway-1 | {"time_local":"02/Apr/2025:19:00:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/fb2fd166-d043-4935-888c-c3015c7fb171 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.569","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5739984480edfc3b95412fec7c6ce472"} experiment-1 | {"level":"info","message":"DELETE /experiments/fb2fd166-d043-4935-888c-c3015c7fb171 204 540ms","method":"DELETE","requestID":"5739984480edfc3b95412fec7c6ce472","responseTime":540,"status":204,"url":"/experiments/fb2fd166-d043-4935-888c-c3015c7fb171"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 429ms","method":"POST","requestID":"62a791dcc23cea863f6926c80bd4a0a2","responseTime":429,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 431ms","method":"POST","requestID":"49233e9c33c272a20609d3f449168c74","responseTime":431,"status":200,"url":"/callbacks/experiment"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyM30.P6fl0dnqg1wboehoGDD5oogCvWtdHI89nFIrFTb6Erw","level":"info","message":"auth send jwt","requestID":"b239eebfb998e6208464671cf8037d47"} authentication-1 | {"level":"info","message":"GET /auth 200 35ms","method":"GET","requestID":"b239eebfb998e6208464671cf8037d47","responseTime":35,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.438","http_referrer":"","http_user_agent":"node-fetch","requestID":"49233e9c33c272a20609d3f449168c74"} gateway-1 | {"time_local":"02/Apr/2025:19:00:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2491","request_time":"5.105","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"1304cfad91c4f6c8f4d70f8ccf2960fd"} gateway-1 | {"time_local":"02/Apr/2025:19:00:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.440","http_referrer":"","http_user_agent":"node-fetch","requestID":"62a791dcc23cea863f6926c80bd4a0a2"} device-1 | {"level":"info","message":"postDevices called","requestID":"b239eebfb998e6208464671cf8037d47"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":677,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":1.168119,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b239eebfb998e6208464671cf8037d47","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620423,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyM30.P6fl0dnqg1wboehoGDD5oogCvWtdHI89nFIrFTb6Erw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"b239eebfb998e6208464671cf8037d47","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:19:00:23 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"3.944","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"8b0e8ae610178d0fcf9aefc5baf1bc08"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/90b15a23-eeab-49a4-abe2-033cbde24931' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"73cbfc49-3163-4d6e-8034-c5fdcb4e7616","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620423.3714535} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"b239eebfb998e6208464671cf8037d47","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/2a433fe6-c55e-469d-8c6a-f96490977b71' closed"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ff0dd38e-cb8e-4e32-9545-60c07f47b0df","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620423.3812351} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"b239eebfb998e6208464671cf8037d47","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"9de7384e-d8b6-4f50-8a3d-cc92eee36be3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620423.4183297} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5fcb9e0d-2a9f-48c7-9d85-b67c2d5d865f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620423.4193845} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"b239eebfb998e6208464671cf8037d47","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.418297912Z"}]},"request_id":"960c4a7a-21e1-4a93-b622-9ccab00735fc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620423.4253566} authorization-1 | {"level":"info","message":"POST /relations/query 200 34ms","method":"POST","requestID":"b239eebfb998e6208464671cf8037d47","responseTime":34,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b239eebfb998e6208464671cf8037d47"} device-1 | {"level":"info","message":"POST /devices? 201 182ms","method":"POST","requestID":"b239eebfb998e6208464671cf8037d47","responseTime":182,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.223","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b239eebfb998e6208464671cf8037d47"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyM30.P6fl0dnqg1wboehoGDD5oogCvWtdHI89nFIrFTb6Erw","level":"info","message":"auth send jwt","requestID":"ba17417016bece6d8385089f75c5f692"} device-1 | {"level":"info","message":"postDevices called","requestID":"ba17417016bece6d8385089f75c5f692"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:23Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":678,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.838521,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:23Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ba17417016bece6d8385089f75c5f692","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620423,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyM30.P6fl0dnqg1wboehoGDD5oogCvWtdHI89nFIrFTb6Erw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ba17417016bece6d8385089f75c5f692","responseTime":5,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"GET /auth 200 13ms","method":"GET","requestID":"ba17417016bece6d8385089f75c5f692","responseTime":13,"status":200,"url":"/auth"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"caef283d-1db0-4a1f-8e11-c21490f64482","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620423.5264778} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ba17417016bece6d8385089f75c5f692","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8cc925bc-f119-4acb-93e2-0712ca740da8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620423.556895} authorization-1 | {"level":"info","message":"POST /relations/update 200 11ms","method":"POST","requestID":"ba17417016bece6d8385089f75c5f692","responseTime":11,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"f0108efb-acf3-4f1c-948d-3ce6bc8a16d2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620423.6137357} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2ac214cf-eaeb-49b9-b5f8-fd17e69bcb24","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620423.6185431} authorization-1 | {"level":"info","message":"POST /relations/update 200 90ms","method":"POST","requestID":"ba17417016bece6d8385089f75c5f692","responseTime":90,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.613700533Z"}]},"request_id":"1fc2d1a4-84ae-4ca5-a147-93cce80e69de","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620423.6574535} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"ba17417016bece6d8385089f75c5f692"} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"ba17417016bece6d8385089f75c5f692","responseTime":9,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"POST /devices? 201 193ms","method":"POST","requestID":"ba17417016bece6d8385089f75c5f692","responseTime":193,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.198","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ba17417016bece6d8385089f75c5f692"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyNX0.DWyH-uyrKamSYz5k2Jl3LYSz0fGlDsd7lWh_VhYrXvw","level":"info","message":"auth send jwt","requestID":"f9270bf8dcae8f3f4a00373c79c6fef3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"f9270bf8dcae8f3f4a00373c79c6fef3","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:25Z"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"f9270bf8dcae8f3f4a00373c79c6fef3"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":679,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.983912,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f9270bf8dcae8f3f4a00373c79c6fef3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620425,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyNX0.DWyH-uyrKamSYz5k2Jl3LYSz0fGlDsd7lWh_VhYrXvw"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"f9270bf8dcae8f3f4a00373c79c6fef3","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.418297912Z"}]},"request_id":"6caaf63f-6fb3-4064-a5cb-530619baf741","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620425.4357166} authorization-1 | {"level":"info","message":"POST /relations/query 200 44ms","method":"POST","requestID":"f9270bf8dcae8f3f4a00373c79c6fef3","responseTime":44,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"dd4ca45f-32dc-496f-baa2-eb33a946447e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620425.481636} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"f9270bf8dcae8f3f4a00373c79c6fef3","responseTime":9,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"f9270bf8dcae8f3f4a00373c79c6fef3"} device-1 | {"level":"info","message":"PATCH /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6 200 176ms","method":"PATCH","requestID":"f9270bf8dcae8f3f4a00373c79c6fef3","responseTime":176,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.418297912Z"}]},"request_id":"56006895-16bd-4abf-811f-b898a8dc6bf1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620425.5446422} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"f9270bf8dcae8f3f4a00373c79c6fef3","responseTime":30,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:19:00:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.183","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"f9270bf8dcae8f3f4a00373c79c6fef3"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyNX0.DWyH-uyrKamSYz5k2Jl3LYSz0fGlDsd7lWh_VhYrXvw","level":"info","message":"auth send jwt","requestID":"27c9288aaeae6667e748f86a1fa4d017"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"27c9288aaeae6667e748f86a1fa4d017","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:25Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":680,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.839515,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:25Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"27c9288aaeae6667e748f86a1fa4d017","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620425,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyNX0.DWyH-uyrKamSYz5k2Jl3LYSz0fGlDsd7lWh_VhYrXvw"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"27c9288aaeae6667e748f86a1fa4d017"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"27c9288aaeae6667e748f86a1fa4d017","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"27c9288aaeae6667e748f86a1fa4d017"} device-1 | {"level":"info","message":"POST /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/websocket 200 52ms","method":"POST","requestID":"27c9288aaeae6667e748f86a1fa4d017","responseTime":52,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/websocket"} gateway-1 | {"time_local":"02/Apr/2025:19:00:25 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.056","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"27c9288aaeae6667e748f86a1fa4d017"} device-1 | {"level":"info","message":"device 'http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"325951f95b3f25bd9dba70ab40b8e64a","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"325951f95b3f25bd9dba70ab40b8e64a","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/765c65ea-7000-46e8-b58b-b69771492bf0/websocket 200 1ms","method":"OPTIONS","requestID":"325951f95b3f25bd9dba70ab40b8e64a","responseTime":1,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0/websocket"} gateway-1 | {"time_local":"02/Apr/2025:19:00:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/765c65ea-7000-46e8-b58b-b69771492bf0/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":"325951f95b3f25bd9dba70ab40b8e64a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyNn0.Bwt14fEX3z5R40JCByoK1CT7g2fQ_urp_H_h1U7KZDI","level":"info","message":"auth send jwt","requestID":"52f26d8ee553c47b1c484df596a521dc"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"52f26d8ee553c47b1c484df596a521dc","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"52f26d8ee553c47b1c484df596a521dc"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:26Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":681,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.842889,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:26Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"52f26d8ee553c47b1c484df596a521dc","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620426,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyNn0.Bwt14fEX3z5R40JCByoK1CT7g2fQ_urp_H_h1U7KZDI"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"52f26d8ee553c47b1c484df596a521dc","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"52f26d8ee553c47b1c484df596a521dc"} gateway-1 | {"time_local":"02/Apr/2025:19:00:26 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/765c65ea-7000-46e8-b58b-b69771492bf0/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.053","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"52f26d8ee553c47b1c484df596a521dc"} device-1 | {"level":"info","message":"POST /devices/765c65ea-7000-46e8-b58b-b69771492bf0/websocket 200 47ms","method":"POST","requestID":"52f26d8ee553c47b1c484df596a521dc","responseTime":47,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw","level":"info","message":"auth send jwt","requestID":"e7aa3fd263fb20cc349e118050370447"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e7aa3fd263fb20cc349e118050370447","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e7aa3fd263fb20cc349e118050370447"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":682,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982628,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e7aa3fd263fb20cc349e118050370447","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620427,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e7aa3fd263fb20cc349e118050370447","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.418297912Z"}]},"request_id":"c770147f-92b5-45e6-8288-f21be11b890a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.0273237} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e7aa3fd263fb20cc349e118050370447","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e7aa3fd263fb20cc349e118050370447"} gateway-1 | {"time_local":"02/Apr/2025:19:00:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7aa3fd263fb20cc349e118050370447"} device-1 | {"level":"info","message":"GET /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6? 200 41ms","method":"GET","requestID":"e7aa3fd263fb20cc349e118050370447","responseTime":41,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw","level":"info","message":"auth send jwt","requestID":"ff9a2c41815f04076e34cae091ab1e42"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ff9a2c41815f04076e34cae091ab1e42","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"ff9a2c41815f04076e34cae091ab1e42"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":683,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.857947,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ff9a2c41815f04076e34cae091ab1e42","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620427,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"ff9a2c41815f04076e34cae091ab1e42","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.613700533Z"}]},"request_id":"08e84bf8-579e-4f6d-8a99-ab87a8227984","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.0761168} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"ff9a2c41815f04076e34cae091ab1e42","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"ff9a2c41815f04076e34cae091ab1e42"} device-1 | {"level":"info","message":"GET /devices/765c65ea-7000-46e8-b58b-b69771492bf0? 200 40ms","method":"GET","requestID":"ff9a2c41815f04076e34cae091ab1e42","responseTime":40,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/765c65ea-7000-46e8-b58b-b69771492bf0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ff9a2c41815f04076e34cae091ab1e42"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw","level":"info","message":"auth send jwt","requestID":"77e4e168e686d22cabcc842aceb4b487"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"77e4e168e686d22cabcc842aceb4b487"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"77e4e168e686d22cabcc842aceb4b487","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":684,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":1.839713,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"77e4e168e686d22cabcc842aceb4b487","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620427,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"77e4e168e686d22cabcc842aceb4b487","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Attempting to run experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Attempting to book experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Successfully booked experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd68bc40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd690a60-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":685,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.863665,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bd68bc40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620427,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"bd68bc40-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":686,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.797134,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bd690a60-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620427,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bd690a60-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.613700533Z"}]},"request_id":"054fa5d6-e8d0-4daa-820e-8bd42dbac591","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.311803} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"bd690a60-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.418297912Z"}]},"request_id":"95a78438-3af3-431f-a587-44235ad54ed2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.3137162} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bd68bc40-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd690a60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/765c65ea-7000-46e8-b58b-b69771492bf0? 200 77ms","method":"GET","requestID":"bd690a60-0ff4-11f0-acd3-db29ca75a471","responseTime":77,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd68bc40-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Setting up experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} device-1 | {"level":"info","message":"GET /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6? 200 85ms","method":"GET","requestID":"bd68bc40-0ff4-11f0-acd3-db29ca75a471","responseTime":85,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Successfully locked booking for experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Attempting to update booking for experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Successfully updated booking for experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Successfully set up experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd8c22c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"bd8c70e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bd8ce610-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Successfully running experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":687,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.426247,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":688,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.180045,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bd8c22c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620427,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"bd8c22c0-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bd8c70e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620427,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"bd8c70e0-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":689,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.965555,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e1091f34-895d-4739-b38b-068699f4f4c9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.5423598} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bd8ce610-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"bd8ce610-0ff4-11f0-acd3-db29ca75a471","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.613700533Z"}]},"request_id":"a531ae1f-8418-4098-be0b-6daeb3d989c0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.5548968} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"bd8c70e0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bd8ce610-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/signaling 200 52ms","method":"POST","requestID":"bd8ce610-0ff4-11f0-acd3-db29ca75a471","responseTime":52,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.418297912Z"}]},"request_id":"40a0b00c-5977-4e13-939d-5d433117c942","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.5585806} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"bd8c22c0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bd991b10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd8c70e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/765c65ea-7000-46e8-b58b-b69771492bf0? 200 89ms","method":"GET","requestID":"bd8c70e0-0ff4-11f0-acd3-db29ca75a471","responseTime":89,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0?"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"bd8c22c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":690,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.11875,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a46398e-50ab-4fc9-8375-fa69d0f154c8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.5924037} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bd991b10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bd991b10-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6? 200 98ms","method":"GET","requestID":"bd8c22c0-0ff4-11f0-acd3-db29ca75a471","responseTime":98,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bd9b8c10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bd991b10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/765c65ea-7000-46e8-b58b-b69771492bf0/signaling 200 21ms","method":"POST","requestID":"bd991b10-0ff4-11f0-acd3-db29ca75a471","responseTime":21,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d7a6d7f-815a-4699-aaf2-9449ec74b743#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d7a6d7f-815a-4699-aaf2-9449ec74b743","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"4455805a-7451-4f16-ad52-f590c7958200","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.603304} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"95963a0a-4c5f-4dae-aa51-0d9c045924ff","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.6049228} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cf2597d-7757-4c6a-9ec1-0ec485bf4992","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.6420624} authorization-1 | {"level":"info","message":"POST /relations/update 200 96ms","method":"POST","requestID":"77e4e168e686d22cabcc842aceb4b487","responseTime":96,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":691,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":35.379447,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bd9b8c10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 41ms","method":"POST","requestID":"bd9b8c10-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"77e4e168e686d22cabcc842aceb4b487"} gateway-1 | {"time_local":"02/Apr/2025:19:00:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.578","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"77e4e168e686d22cabcc842aceb4b487"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bd9b8c10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/signaling 200 86ms","method":"POST","requestID":"bd9b8c10-0ff4-11f0-acd3-db29ca75a471","responseTime":86,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/signaling"} experiment-1 | {"level":"info","message":"POST /experiments? 201 579ms","method":"POST","requestID":"77e4e168e686d22cabcc842aceb4b487","responseTime":579,"status":201,"url":"/experiments?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw","level":"info","message":"auth send jwt","requestID":"5ee79624724ca6c128beca469ab0bc14"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bdaa0b00-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"5ee79624724ca6c128beca469ab0bc14","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5ee79624724ca6c128beca469ab0bc14"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":693,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.785399,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5ee79624724ca6c128beca469ab0bc14","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620427,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"5ee79624724ca6c128beca469ab0bc14","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"623c7fcc-5dad-4462-8dd3-f19b46df5dc2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.7040024} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":692,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":28.161015,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bdaa0b00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","object_type":"device","rebac_allow":false,"scope_allow":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":"bdaa0b00-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bdaa0b00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/765c65ea-7000-46e8-b58b-b69771492bf0/signaling 200 39ms","method":"POST","requestID":"bdaa0b00-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Building connection plan","requestID":"77e4e168e686d22cabcc842aceb4b487"} 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":"bfcde546-a5cb-48d9-bdab-f2b4307d3ece"},{"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":"d9e79b58-c5a3-47fd-b97f-b5696a07a978"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"d26db7d7-89a2-49ab-b143-4578cf4e03fe"}]},"level":"info","message":"Built pairwise service configurations","requestID":"77e4e168e686d22cabcc842aceb4b487"} 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/765c65ea-7000-46e8-b58b-b69771492bf0"},{"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/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"77e4e168e686d22cabcc842aceb4b487"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.418297912Z"}]},"request_id":"bc5278c2-6193-43bf-8d6f-b56df7273de3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.7394717} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"5ee79624724ca6c128beca469ab0bc14","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5ee79624724ca6c128beca469ab0bc14"} device-1 | {"level":"info","message":"GET /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6? 200 46ms","method":"GET","requestID":"5ee79624724ca6c128beca469ab0bc14","responseTime":46,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.052","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5ee79624724ca6c128beca469ab0bc14"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":694,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.838753,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620427,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw","level":"info","message":"auth send jwt","requestID":"3ee7b9aed7667f575c825a5111589d24"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"3ee7b9aed7667f575c825a5111589d24","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"3ee7b9aed7667f575c825a5111589d24"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":695,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.763711,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3ee7b9aed7667f575c825a5111589d24","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620427,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQyN30.N9UIuAU23mKhRoq-uz8cPoM3QbC3hJarL0mrIwyi3Jw"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"3ee7b9aed7667f575c825a5111589d24","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"42ce232c-5577-4be4-92cb-a5c92969bb6f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.7951682} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2738a506-43ff-4721-aa4a-280ab0a00022","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.7963526} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:23.613700533Z"}]},"request_id":"8505ce51-016f-4577-b00a-ac8ca08464ec","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.7992878} authorization-1 | {"level":"info","message":"POST /relations/update 200 40ms","method":"POST","requestID":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471","responseTime":40,"status":200,"url":"/relations/update"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"3ee7b9aed7667f575c825a5111589d24","responseTime":29,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"3ee7b9aed7667f575c825a5111589d24"} gateway-1 | {"time_local":"02/Apr/2025:19:00:27 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/765c65ea-7000-46e8-b58b-b69771492bf0? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ee7b9aed7667f575c825a5111589d24"} device-1 | {"level":"info","message":"GET /devices/765c65ea-7000-46e8-b58b-b69771492bf0? 200 53ms","method":"GET","requestID":"3ee7b9aed7667f575c825a5111589d24","responseTime":53,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762'","requestID":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762'","requestID":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 106ms","method":"POST","requestID":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471","responseTime":106,"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":"bdb0c1c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762","device":"765c65ea-7000-46e8-b58b-b69771492bf0","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/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"77e4e168e686d22cabcc842aceb4b487"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bdd6c050-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":696,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.036585,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:27Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0c48819a-e94b-45da-9142-99d137505e0b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620427.9950788} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bdd6c050-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","rebac_allow":false,"scope_allow":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":"bdd6c050-0ff4-11f0-acd3-db29ca75a471","responseTime":28,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bdd6c050-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/signaling 200 42ms","method":"POST","requestID":"bdd6c050-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bddd9e20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:28Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":697,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":31.47808,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:28Z"} device-1 | {"device":"765c65ea-7000-46e8-b58b-b69771492bf0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"765c65ea-7000-46e8-b58b-b69771492bf0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ee78753d-30d2-4503-8451-c12e6b88255e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620428.0673263} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bddd9e20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","method":"POST","requestID":"bddd9e20-0ff4-11f0-acd3-db29ca75a471","responseTime":44,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bddd9e20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/765c65ea-7000-46e8-b58b-b69771492bf0/signaling 200 91ms","method":"POST","requestID":"bddd9e20-0ff4-11f0-acd3-db29ca75a471","responseTime":91,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0/signaling"} device-1 | {"device":"ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"ee4c0874-b231-4a19-a688-f7f86d4c2762","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 5313420085862466737 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:5KqY\r\na=ice-pwd:iUp4IXj6v6W/JqvsDR2Pe3oF\r\na=ice-options:trickle\r\na=fingerprint:sha-256 55:38:4A:72:D6:3E:C8:AC:99:F9:9F:7B:28:A5:C0:22:8A:7B:4D:59:54:E8:34:B5:10:E4:7D:C2:D7:E0:6F:81\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"765c65ea-7000-46e8-b58b-b69771492bf0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"content":{"candidate":"candidate:1273979979 1 udp 2113937151 72b561bf-fdb1-4a2d-8f41-52d34a0e9603.local 52044 typ host generation 0 ufrag 5KqY network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"765c65ea-7000-46e8-b58b-b69771492bf0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"765c65ea-7000-46e8-b58b-b69771492bf0","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/ee4c0874-b231-4a19-a688-f7f86d4c2762' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ee4c0874-b231-4a19-a688-f7f86d4c2762","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"765c65ea-7000-46e8-b58b-b69771492bf0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"b2b08156c326d434a5786141380cb0f8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"b2b08156c326d434a5786141380cb0f8","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0"},{"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/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762"}}},"level":"info","message":"received a callback","requestID":"b2b08156c326d434a5786141380cb0f8"} device-1 | {"device":"ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"765c65ea-7000-46e8-b58b-b69771492bf0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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 52ms","method":"POST","requestID":"b2b08156c326d434a5786141380cb0f8","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch","requestID":"b2b08156c326d434a5786141380cb0f8"} device-1 | {"data":{"peerconnection":"ee4c0874-b231-4a19-a688-f7f86d4c2762","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"765c65ea-7000-46e8-b58b-b69771492bf0","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"ee4c0874-b231-4a19-a688-f7f86d4c2762","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/ee4c0874-b231-4a19-a688-f7f86d4c2762' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ee4c0874-b231-4a19-a688-f7f86d4c2762","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6afac74981746348ebe107b2fb384b05","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"6afac74981746348ebe107b2fb384b05","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"in","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0"},{"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/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762"}}},"level":"info","message":"received a callback","requestID":"6afac74981746348ebe107b2fb384b05"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzMH0.XoaDn3fBFe5_wKGTSrLeDPoPn-V6MM5y6KSesAFOwYw","level":"info","message":"auth send jwt","requestID":"a5bedf7363218b9e050acdbacc1cbc2f"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a5bedf7363218b9e050acdbacc1cbc2f","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"bf2894b0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","requestID":"a5bedf7363218b9e050acdbacc1cbc2f"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Received request.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"client_addr":"127.0.0.1:37068","level":"info","msg":"Sent response.","req_id":698,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":3.56718,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":699,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":1.093367,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fee4c0874-b231-4a19-a688-f7f86d4c2762","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b7a08c0f-0675-472c-8797-cac8424e0de6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620430.2345278} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bf2894b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762","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 16ms","method":"POST","requestID":"bf2894b0-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a5bedf7363218b9e050acdbacc1cbc2f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620430,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzMH0.XoaDn3fBFe5_wKGTSrLeDPoPn-V6MM5y6KSesAFOwYw"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"a5bedf7363218b9e050acdbacc1cbc2f","responseTime":12,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","requestID":"a5bedf7363218b9e050acdbacc1cbc2f"} gateway-1 | {"time_local":"02/Apr/2025:19:00:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.085","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a5bedf7363218b9e050acdbacc1cbc2f"} experiment-1 | {"level":"info","message":"GET /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743 200 50ms","method":"GET","requestID":"a5bedf7363218b9e050acdbacc1cbc2f","responseTime":50,"status":200,"url":"/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"bf2894b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762 200 78ms","method":"GET","requestID":"bf2894b0-0ff4-11f0-acd3-db29ca75a471","responseTime":78,"status":200,"url":"/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 144ms","method":"POST","requestID":"6afac74981746348ebe107b2fb384b05","responseTime":144,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bf3da350-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:30Z"} gateway-1 | {"time_local":"02/Apr/2025:19:00:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.152","http_referrer":"","http_user_agent":"node-fetch","requestID":"6afac74981746348ebe107b2fb384b05"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"58679901-5c51-4aca-af23-dae1cfc7ff0c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620430.3736916} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":700,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.553606,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bf3da350-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","object_type":"device","rebac_allow":false,"scope_allow":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":"bf3da350-0ff4-11f0-acd3-db29ca75a471","responseTime":34,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzMH0.XoaDn3fBFe5_wKGTSrLeDPoPn-V6MM5y6KSesAFOwYw","level":"info","message":"auth send jwt","requestID":"3456a20f5faca70b029030c0dcd5c2c3"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"3456a20f5faca70b029030c0dcd5c2c3","responseTime":7,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","requestID":"3456a20f5faca70b029030c0dcd5c2c3"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":701,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.937858,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3456a20f5faca70b029030c0dcd5c2c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620430,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzMH0.XoaDn3fBFe5_wKGTSrLeDPoPn-V6MM5y6KSesAFOwYw"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"3456a20f5faca70b029030c0dcd5c2c3","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bf3da350-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/765c65ea-7000-46e8-b58b-b69771492bf0/signaling 200 84ms","method":"POST","requestID":"bf3da350-0ff4-11f0-acd3-db29ca75a471","responseTime":84,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bf4ce590-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1dc168c8-227a-493a-9d77-23c6c4fe6e34","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620430.4721725} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":702,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.307486,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:30Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","requestID":"3456a20f5faca70b029030c0dcd5c2c3"} gateway-1 | {"time_local":"02/Apr/2025:19:00:30 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.093","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3456a20f5faca70b029030c0dcd5c2c3"} experiment-1 | {"level":"info","message":"GET /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743 200 86ms","method":"GET","requestID":"3456a20f5faca70b029030c0dcd5c2c3","responseTime":86,"status":200,"url":"/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bf4ce590-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"bf4ce590-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzMH0.XoaDn3fBFe5_wKGTSrLeDPoPn-V6MM5y6KSesAFOwYw","level":"info","message":"auth send jwt","requestID":"e41d6591f7db0d6fa00e75c3c287a759"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e41d6591f7db0d6fa00e75c3c287a759","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bf4ce590-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","requestID":"e41d6591f7db0d6fa00e75c3c287a759"} device-1 | {"level":"info","message":"POST /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/signaling 200 91ms","method":"POST","requestID":"bf4ce590-0ff4-11f0-acd3-db29ca75a471","responseTime":91,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":703,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.881834,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e41d6591f7db0d6fa00e75c3c287a759","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620430,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzMH0.XoaDn3fBFe5_wKGTSrLeDPoPn-V6MM5y6KSesAFOwYw"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"e41d6591f7db0d6fa00e75c3c287a759","responseTime":30,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Attempting to finish experiment","requestID":"e41d6591f7db0d6fa00e75c3c287a759"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"bf668810-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":704,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.862589,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:30Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bf668810-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620430,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzMH0.XoaDn3fBFe5_wKGTSrLeDPoPn-V6MM5y6KSesAFOwYw"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"bf668810-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762","device":"765c65ea-7000-46e8-b58b-b69771492bf0","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"device":"ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/ee4c0874-b231-4a19-a688-f7f86d4c2762' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"ee4c0874-b231-4a19-a688-f7f86d4c2762","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"03fc5e458909eee3f009c7535798dbc6","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"03fc5e458909eee3f009c7535798dbc6","responseTime":25,"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/765c65ea-7000-46e8-b58b-b69771492bf0"},{"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/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762"}}},"level":"info","message":"received a callback","requestID":"03fc5e458909eee3f009c7535798dbc6"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9c2e736d99db0e77444603345e10c8a8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9c2e736d99db0e77444603345e10c8a8","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/765c65ea-7000-46e8-b58b-b69771492bf0"},{"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/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762"}}},"level":"info","message":"received a callback","requestID":"9c2e736d99db0e77444603345e10c8a8"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fee4c0874-b231-4a19-a688-f7f86d4c2762': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fee4c0874-b231-4a19-a688-f7f86d4c2762","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"4c740de0-3876-49a9-ae64-44f0bedb94a7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620430.8103085} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"35361b48-cd59-46fd-a228-972ef7e15ca0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620430.8117437} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"bf668810-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"ee4c0874-b231-4a19-a688-f7f86d4c2762","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"bf668810-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762 204 580ms","method":"DELETE","requestID":"bf668810-0ff4-11f0-acd3-db29ca75a471","responseTime":580,"status":204,"url":"/peerconnections/ee4c0874-b231-4a19-a688-f7f86d4c2762"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"},"level":"info","message":"Successfully finished experiment","requestID":"e41d6591f7db0d6fa00e75c3c287a759"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bfdf1370-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":705,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.678091,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:31Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F765c65ea-7000-46e8-b58b-b69771492bf0","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"967549b5-d797-42b8-870e-b1f4de2b642e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620431.4292297} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bfdf1370-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0","object_type":"device","rebac_allow":false,"scope_allow":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":"bfdf1370-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bfdf1370-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/765c65ea-7000-46e8-b58b-b69771492bf0/signaling 200 39ms","method":"POST","requestID":"bfdf1370-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/765c65ea-7000-46e8-b58b-b69771492bf0/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"bfe57c10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:31Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":706,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.393656,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:31Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d158cbad-2d7b-4fd9-8993-49cea0367e2a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620431.4464467} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"bfe57c10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6","object_type":"device","rebac_allow":false,"scope_allow":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":"bfe57c10-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"bfe57c10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/signaling 200 11ms","method":"POST","requestID":"bfe57c10-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d7a6d7f-815a-4699-aaf2-9449ec74b743': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F5d7a6d7f-815a-4699-aaf2-9449ec74b743","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"874b161a-fd40-4136-a713-fe402d6da8e6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620431.5854812} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"582460fe-e726-4dc8-b212-73072f4f2571","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620431.587521} authorization-1 | {"level":"info","message":"POST /relations/update 200 199ms","method":"POST","requestID":"e41d6591f7db0d6fa00e75c3c287a759","responseTime":199,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743","requestID":"e41d6591f7db0d6fa00e75c3c287a759"} gateway-1 | {"time_local":"02/Apr/2025:19:00:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"2.294","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e41d6591f7db0d6fa00e75c3c287a759"} gateway-1 | {"time_local":"02/Apr/2025:19:00:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2493","request_time":"7.154","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"d120a7c06abe24c473b2ec3669214bdb"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzMn0.8p0nekeQQWdpjbU43BijO8EUwXfqEjLEIru3V7LS4CQ","level":"info","message":"auth send jwt","requestID":"84d8a2727538a43b9ef4949e05e89271"} authentication-1 | {"level":"info","message":"GET /auth 200 30ms","method":"GET","requestID":"84d8a2727538a43b9ef4949e05e89271","responseTime":30,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00:32 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"5.857","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"b6eb5808b8d19a173e06bf7861fcedca"} device-1 | {"level":"info","message":"postDevices called","requestID":"84d8a2727538a43b9ef4949e05e89271"} experiment-1 | {"level":"info","message":"DELETE /experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743 204 2292ms","method":"DELETE","requestID":"e41d6591f7db0d6fa00e75c3c287a759","responseTime":2292,"status":204,"url":"/experiments/5d7a6d7f-815a-4699-aaf2-9449ec74b743"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:32Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":707,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.922079,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:32Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"84d8a2727538a43b9ef4949e05e89271","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620432,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzMn0.8p0nekeQQWdpjbU43BijO8EUwXfqEjLEIru3V7LS4CQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"84d8a2727538a43b9ef4949e05e89271","responseTime":9,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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":"2.141","http_referrer":"","http_user_agent":"node-fetch","requestID":"03fc5e458909eee3f009c7535798dbc6"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 2113ms","method":"POST","requestID":"03fc5e458909eee3f009c7535798dbc6","responseTime":2113,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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":"2.106","http_referrer":"","http_user_agent":"node-fetch","requestID":"9c2e736d99db0e77444603345e10c8a8"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 2102ms","method":"POST","requestID":"9c2e736d99db0e77444603345e10c8a8","responseTime":2102,"status":200,"url":"/callbacks/experiment"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/ccd48936-3c5f-4d91-a7a8-3c5ee57ee4a6' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/765c65ea-7000-46e8-b58b-b69771492bf0' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a65e604b-137b-4a13-89d4-20f1298a53a9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620433.301741} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"84d8a2727538a43b9ef4949e05e89271","responseTime":32,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2d5f9284-07a7-4f68-b992-afb9593bba4a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620433.3133347} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"84d8a2727538a43b9ef4949e05e89271","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"74b341b2-0e5a-4769-8379-3861f0d3ee3a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620433.497379} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"93173804-cb7d-4354-8adf-c696220b01e3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620433.498701} authorization-1 | {"level":"info","message":"POST /relations/update 200 186ms","method":"POST","requestID":"84d8a2727538a43b9ef4949e05e89271","responseTime":186,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.497344689Z"}]},"request_id":"fe3e6e14-82b8-48e8-9d25-d93d93a4a539","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620433.506073} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"84d8a2727538a43b9ef4949e05e89271"} device-1 | {"level":"info","message":"POST /devices? 201 714ms","method":"POST","requestID":"84d8a2727538a43b9ef4949e05e89271","responseTime":714,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.752","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"84d8a2727538a43b9ef4949e05e89271"} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","method":"POST","requestID":"84d8a2727538a43b9ef4949e05e89271","responseTime":36,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzM30.T8EIRoD2P6rXHSDoonUHoVKXgIOjEiC56kepWJiS9t0","level":"info","message":"auth send jwt","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b"} authentication-1 | {"level":"info","message":"GET /auth 200 8ms","method":"GET","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b","responseTime":8,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:33Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":708,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.916628,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:33Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"19e64eb100b81ecc83dbcc7ba31ea27b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620433,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzM30.T8EIRoD2P6rXHSDoonUHoVKXgIOjEiC56kepWJiS9t0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"b5b63e4d-1a12-42b6-9e0e-6aca5b573f8e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620433.7364147} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"8441c105-def7-474c-8ec4-0d6993fad805","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620433.7428544} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b","responseTime":5,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"cc85e559-78ce-449a-a22c-31a95f50b371","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620433.9238887} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"3f75877b-a51b-4d9d-956a-08220dfc80b9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620433.9247031} authorization-1 | {"level":"info","message":"POST /relations/update 200 181ms","method":"POST","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b","responseTime":181,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.923860291Z"}]},"request_id":"f64643db-5794-42b3-af8c-a20e9ff4f391","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620433.9314678} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b"} device-1 | {"level":"info","message":"POST /devices? 201 384ms","method":"POST","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b","responseTime":384,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:33 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.394","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"19e64eb100b81ecc83dbcc7ba31ea27b"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzNX0.99J7OXnkCWcZvLoFX4ZLz2GrZVYLWpN6q-8erZ7BPDM","level":"info","message":"auth send jwt","requestID":"2631f6ff9ade44fe9996387aae620488"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"2631f6ff9ade44fe9996387aae620488","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"2631f6ff9ade44fe9996387aae620488"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":709,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.840512,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2631f6ff9ade44fe9996387aae620488","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620435,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzNX0.99J7OXnkCWcZvLoFX4ZLz2GrZVYLWpN6q-8erZ7BPDM"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"2631f6ff9ade44fe9996387aae620488","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.497344689Z"}]},"request_id":"59f96957-2673-4a74-ab12-06fbaa1722f6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620435.6086946} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"2631f6ff9ade44fe9996387aae620488","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6d8a584f-3323-41f8-af06-a6eb29e806d1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620435.6195767} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"2631f6ff9ade44fe9996387aae620488","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.497344689Z"}]},"request_id":"530d0f48-8b8e-4b5c-8ee6-8aa2b57f3f30","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620435.6718395} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"2631f6ff9ade44fe9996387aae620488"} device-1 | {"level":"info","message":"PATCH /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e 200 130ms","method":"PATCH","requestID":"2631f6ff9ade44fe9996387aae620488","responseTime":130,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"2631f6ff9ade44fe9996387aae620488","responseTime":30,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:19:00:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.137","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"2631f6ff9ade44fe9996387aae620488"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzNX0.99J7OXnkCWcZvLoFX4ZLz2GrZVYLWpN6q-8erZ7BPDM","level":"info","message":"auth send jwt","requestID":"23af31df50b799bd635a17f9d3b6b0e9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"23af31df50b799bd635a17f9d3b6b0e9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"23af31df50b799bd635a17f9d3b6b0e9"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:35Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":710,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.840455,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:35Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"23af31df50b799bd635a17f9d3b6b0e9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620435,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzNX0.99J7OXnkCWcZvLoFX4ZLz2GrZVYLWpN6q-8erZ7BPDM"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"23af31df50b799bd635a17f9d3b6b0e9","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"23af31df50b799bd635a17f9d3b6b0e9"} gateway-1 | {"time_local":"02/Apr/2025:19:00:35 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.099","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"23af31df50b799bd635a17f9d3b6b0e9"} device-1 | {"level":"info","message":"POST /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/websocket 200 97ms","method":"POST","requestID":"23af31df50b799bd635a17f9d3b6b0e9","responseTime":97,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"fff3c072fd8f494ea0f2057ca3e0c72d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"fff3c072fd8f494ea0f2057ca3e0c72d","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/0c994891-704c-43f4-9d9a-22b780de8e54/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":"fff3c072fd8f494ea0f2057ca3e0c72d"} device-1 | {"level":"info","message":"OPTIONS /devices/0c994891-704c-43f4-9d9a-22b780de8e54/websocket 200 1ms","method":"OPTIONS","requestID":"fff3c072fd8f494ea0f2057ca3e0c72d","responseTime":1,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM","level":"info","message":"auth send jwt","requestID":"264f40632ca02442590c190017efdbcd"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"264f40632ca02442590c190017efdbcd","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"264f40632ca02442590c190017efdbcd"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":711,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.944444,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"264f40632ca02442590c190017efdbcd","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"264f40632ca02442590c190017efdbcd","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"264f40632ca02442590c190017efdbcd"} gateway-1 | {"time_local":"02/Apr/2025:19:00:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/0c994891-704c-43f4-9d9a-22b780de8e54/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.085","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"264f40632ca02442590c190017efdbcd"} device-1 | {"level":"info","message":"POST /devices/0c994891-704c-43f4-9d9a-22b780de8e54/websocket 200 80ms","method":"POST","requestID":"264f40632ca02442590c190017efdbcd","responseTime":80,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54/websocket"} device-1 | {"level":"info","message":"device 'http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM","level":"info","message":"auth send jwt","requestID":"5862e99c27bb479776cc185437bb304e"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5862e99c27bb479776cc185437bb304e","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"5862e99c27bb479776cc185437bb304e"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":712,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":2.558937,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5862e99c27bb479776cc185437bb304e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5862e99c27bb479776cc185437bb304e","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.497344689Z"}]},"request_id":"f336ab14-ce1d-4ef0-af19-78e433b64504","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.2824688} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"5862e99c27bb479776cc185437bb304e","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"5862e99c27bb479776cc185437bb304e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM","level":"info","message":"auth send jwt","requestID":"f9d3fcce4e69a7762ba2ca620705764f"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"f9d3fcce4e69a7762ba2ca620705764f","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"GET /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e? 200 40ms","method":"GET","requestID":"5862e99c27bb479776cc185437bb304e","responseTime":40,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.045","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"5862e99c27bb479776cc185437bb304e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"f9d3fcce4e69a7762ba2ca620705764f"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":713,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.789755,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f9d3fcce4e69a7762ba2ca620705764f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"f9d3fcce4e69a7762ba2ca620705764f","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.923860291Z"}]},"request_id":"c9148480-8c01-4ac2-b14a-f49ac3fd9f49","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.3006072} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"f9d3fcce4e69a7762ba2ca620705764f","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"f9d3fcce4e69a7762ba2ca620705764f"} device-1 | {"level":"info","message":"GET /devices/0c994891-704c-43f4-9d9a-22b780de8e54? 200 12ms","method":"GET","requestID":"f9d3fcce4e69a7762ba2ca620705764f","responseTime":12,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0c994891-704c-43f4-9d9a-22b780de8e54? 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":"f9d3fcce4e69a7762ba2ca620705764f"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM","level":"info","message":"auth send jwt","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":714,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.816088,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ed042a1b6f51262ba8e25ce954f7b2c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Attempting to run experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Attempting to book experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Successfully booked experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c37dbe00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c37e0c20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":715,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.817494,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c37dbe00-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c37dbe00-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c37e0c20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c37e0c20-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":716,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.966948,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.497344689Z"}]},"request_id":"4ed2982f-8168-437f-a223-7be387d9d6ab","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.484887} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c37dbe00-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.923860291Z"}]},"request_id":"df13239b-1ec3-4812-b493-def961ffdafd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.4860368} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c37dbe00-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e? 200 17ms","method":"GET","requestID":"c37dbe00-0ff4-11f0-acd3-db29ca75a471","responseTime":17,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"c37e0c20-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c37e0c20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/0c994891-704c-43f4-9d9a-22b780de8e54? 200 20ms","method":"GET","requestID":"c37e0c20-0ff4-11f0-acd3-db29ca75a471","responseTime":20,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Setting up experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Successfully set up experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c3940520-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Successfully running experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":717,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.297566,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c3940520-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c3940520-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c395b2d0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":718,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.790921,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c395b2d0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c395b2d0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7cb2fe9b-2460-47e6-9f75-8e0986884e64#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7cb2fe9b-2460-47e6-9f75-8e0986884e64","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"96c4f11f-effa-4c4e-9793-a31c0e1f43f1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.6378105} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"16531b15-5372-4cbd-b525-77d8c2c51506","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.6386127} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3973970-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.497344689Z"}]},"request_id":"95af3639-0c3a-4810-9458-56f41d1f514c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.6399598} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.923860291Z"}]},"request_id":"ad42b637-f434-443f-924d-d6a2fa8e4d00","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.6671689} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c3940520-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e? 200 57ms","method":"GET","requestID":"c3940520-0ff4-11f0-acd3-db29ca75a471","responseTime":57,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 39ms","method":"POST","requestID":"c3940520-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/update 200 54ms","method":"POST","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3","responseTime":54,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c395b2d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/0c994891-704c-43f4-9d9a-22b780de8e54? 200 53ms","method":"GET","requestID":"c395b2d0-0ff4-11f0-acd3-db29ca75a471","responseTime":53,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 17ms","method":"POST","requestID":"c395b2d0-0ff4-11f0-acd3-db29ca75a471","responseTime":17,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3a28410-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":719,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.18216,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"777bc6be-fc39-41ce-88ef-833ea4bea8b1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.6865246} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c3973970-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","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":"c3973970-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/signaling 200 82ms","method":"POST","requestID":"c3973970-0ff4-11f0-acd3-db29ca75a471","responseTime":82,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"c3973970-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3a431c0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":720,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.934422,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"level":"info","message":"POST /experiments? 201 395ms","method":"POST","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3","responseTime":395,"status":201,"url":"/experiments?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"78ce86c8-44c4-4be3-9403-425b64ada5b0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.7275982} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"c3339f17-b60e-47be-9336-cd9ef88df76b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.7331774} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c3a28410-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","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":"02/Apr/2025:19:00:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1215","request_time":"0.405","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3a28410-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM","level":"info","message":"auth send jwt","requestID":"a63df60f5c6688e1b471b15506c6fb75"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a63df60f5c6688e1b471b15506c6fb75","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"POST /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/signaling 200 51ms","method":"POST","requestID":"c3a28410-0ff4-11f0-acd3-db29ca75a471","responseTime":51,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3aac170-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a63df60f5c6688e1b471b15506c6fb75"} authorization-1 | {"level":"info","message":"POST /authorize 200 48ms","method":"POST","requestID":"c3a28410-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3a431c0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/0c994891-704c-43f4-9d9a-22b780de8e54/signaling 200 51ms","method":"POST","requestID":"c3a431c0-0ff4-11f0-acd3-db29ca75a471","responseTime":51,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54/signaling"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":721,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.153776,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c3a431c0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 47ms","method":"POST","requestID":"c3a431c0-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Received request.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:58914","level":"info","msg":"Sent response.","req_id":722,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.948891,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":723,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.706069,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c3aac170-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"c3aac170-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3aac170-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/0c994891-704c-43f4-9d9a-22b780de8e54/signaling 200 46ms","method":"POST","requestID":"c3aac170-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a16f02d0-7430-410c-a72b-6f1d67f5e95e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.7804093} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a63df60f5c6688e1b471b15506c6fb75","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"a63df60f5c6688e1b471b15506c6fb75","responseTime":34,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Building connection plan","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} 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":"425f7e22-f87b-4a35-aa2e-aa3141d2307c"},{"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":"f12637a2-119f-4583-80fb-79ce388f59b4"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"b9bab37f-5e96-4cbb-90ef-298b445abb79"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} 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/0c994891-704c-43f4-9d9a-22b780de8e54"},{"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/46f241f7-d2e8-4f4f-b436-b5e75f19049e"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.497344689Z"}]},"request_id":"7bd6617c-0217-49d9-80bd-e91e900b7dd8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.8209522} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"a63df60f5c6688e1b471b15506c6fb75","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a63df60f5c6688e1b471b15506c6fb75"} device-1 | {"level":"info","message":"GET /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e? 200 58ms","method":"GET","requestID":"a63df60f5c6688e1b471b15506c6fb75","responseTime":58,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e?"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":724,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.749098,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} gateway-1 | {"time_local":"02/Apr/2025:19:00:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a63df60f5c6688e1b471b15506c6fb75"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"4ef3aedc-3540-4500-ba75-ce1f885fda41","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.8624544} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0033c22d-075f-4066-8f54-d6e481304731","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.8633482} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/relations/update"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM","level":"info","message":"auth send jwt","requestID":"1fc252f347308aa538cd520302ad5a8b"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"1fc252f347308aa538cd520302ad5a8b","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1fc252f347308aa538cd520302ad5a8b"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":725,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.772213,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:37Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1fc252f347308aa538cd520302ad5a8b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620437,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQzN30.sOvkTDvWOfes1J8kXz7DZX8wj-gkbnG0qe0rOVzT4mM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"1fc252f347308aa538cd520302ad5a8b","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:33.923860291Z"}]},"request_id":"80799407-5177-4641-858b-ca871cbb5066","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620437.876744} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"1fc252f347308aa538cd520302ad5a8b","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f'","requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f'","requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 97ms","method":"POST","requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471","responseTime":97,"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":"1fc252f347308aa538cd520302ad5a8b"} device-1 | {"level":"info","message":"GET /devices/0c994891-704c-43f4-9d9a-22b780de8e54? 200 53ms","method":"GET","requestID":"1fc252f347308aa538cd520302ad5a8b","responseTime":53,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:37 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/0c994891-704c-43f4-9d9a-22b780de8e54? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.088","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1fc252f347308aa538cd520302ad5a8b"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"c3b289a0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","device":"0c994891-704c-43f4-9d9a-22b780de8e54","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/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ed042a1b6f51262ba8e25ce954f7b2c3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3d071e0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":726,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":32.067202,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:38Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"71e68941-0abf-4e09-819e-a8de0191f183","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620438.0244372} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c3d071e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"c3d071e0-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3d071e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/signaling 200 48ms","method":"POST","requestID":"c3d071e0-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/signaling"} device-1 | {"device":"0c994891-704c-43f4-9d9a-22b780de8e54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"0c994891-704c-43f4-9d9a-22b780de8e54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c3d86120-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:38Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":727,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.704123,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:38Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3c09cfc4-faeb-46b2-91e9-0dd3069e9b2c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620438.0709577} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c3d86120-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","object_type":"device","rebac_allow":false,"scope_allow":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":"c3d86120-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c3d86120-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/0c994891-704c-43f4-9d9a-22b780de8e54/signaling 200 37ms","method":"POST","requestID":"c3d86120-0ff4-11f0-acd3-db29ca75a471","responseTime":37,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54/signaling"} device-1 | {"device":"46f241f7-d2e8-4f4f-b436-b5e75f19049e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"content":{"sdp":"v=0\r\no=- 8224608370068417176 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:If1X\r\na=ice-pwd:suU+u5zm0Ldcp3IO7FKYn1tp\r\na=ice-options:trickle\r\na=fingerprint:sha-256 82:6F:87:0E:28:08:65:9B:C9:12:5B:35:DE:3E:41:9B:2F:CD:19:22:84:78:02:32:60:99:8A:6D:B4:74:C9:B4\r\na=setup:active\r\na=mid:0\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n","type":"answer"},"device":"0c994891-704c-43f4-9d9a-22b780de8e54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"device":"0c994891-704c-43f4-9d9a-22b780de8e54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"content":{"candidate":"candidate:391433360 1 udp 2113937151 241e4c35-202f-4888-a5df-65f8eb35a58e.local 54044 typ host generation 0 ufrag If1X network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"0c994891-704c-43f4-9d9a-22b780de8e54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"0c994891-704c-43f4-9d9a-22b780de8e54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"46f241f7-d2e8-4f4f-b436-b5e75f19049e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"46f241f7-d2e8-4f4f-b436-b5e75f19049e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"46f241f7-d2e8-4f4f-b436-b5e75f19049e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"46f241f7-d2e8-4f4f-b436-b5e75f19049e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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":"9f32ff523d17b84051eb1095615cd453","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9f32ff523d17b84051eb1095615cd453","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"0c994891-704c-43f4-9d9a-22b780de8e54","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"in","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/0c994891-704c-43f4-9d9a-22b780de8e54"},{"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/46f241f7-d2e8-4f4f-b436-b5e75f19049e"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f"}}},"level":"info","message":"received a callback","requestID":"9f32ff523d17b84051eb1095615cd453"} device-1 | {"device":"46f241f7-d2e8-4f4f-b436-b5e75f19049e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"0c994891-704c-43f4-9d9a-22b780de8e54","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 49ms","method":"POST","requestID":"9f32ff523d17b84051eb1095615cd453","responseTime":49,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.083","http_referrer":"","http_user_agent":"node-fetch","requestID":"9f32ff523d17b84051eb1095615cd453"} device-1 | {"data":{"peerconnection":"b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MH0.l1uvnaauevB4jkJfcHjrl872v_0Hn94xT3ayPI69X5Q","level":"info","message":"auth send jwt","requestID":"e3e8560b2e47104284e07cd156551307"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e3e8560b2e47104284e07cd156551307","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":728,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.769061,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:40Z"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","requestID":"e3e8560b2e47104284e07cd156551307"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e3e8560b2e47104284e07cd156551307","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620440,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MH0.l1uvnaauevB4jkJfcHjrl872v_0Hn94xT3ayPI69X5Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e3e8560b2e47104284e07cd156551307","responseTime":4,"status":200,"url":"/authorize"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"d703884bbac85f14947b2756c9527c77","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"d703884bbac85f14947b2756c9527c77","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/0c994891-704c-43f4-9d9a-22b780de8e54"},{"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/46f241f7-d2e8-4f4f-b436-b5e75f19049e"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f"}}},"level":"info","message":"received a callback","requestID":"d703884bbac85f14947b2756c9527c77"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","requestID":"e3e8560b2e47104284e07cd156551307"} experiment-1 | {"level":"info","message":"GET /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64 200 42ms","method":"GET","requestID":"e3e8560b2e47104284e07cd156551307","responseTime":42,"status":200,"url":"/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"} gateway-1 | {"time_local":"02/Apr/2025:19:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64 HTTP/1.1","status": "200","body_bytes_sent":"1286","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3e8560b2e47104284e07cd156551307"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c52fdad0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb2945cbd-2faa-4ecd-9a1c-b11ebabc716f","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"92d1cc9e-1573-48b7-a860-bd88d323ff4d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620440.3215966} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":729,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.864845,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c52fdad0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","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":"c52fdad0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c52fdad0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f 200 37ms","method":"GET","requestID":"c52fdad0-0ff4-11f0-acd3-db29ca75a471","responseTime":37,"status":200,"url":"/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 130ms","method":"POST","requestID":"d703884bbac85f14947b2756c9527c77","responseTime":130,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c53e0ba0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":730,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.814301,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:40Z"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MH0.l1uvnaauevB4jkJfcHjrl872v_0Hn94xT3ayPI69X5Q","level":"info","message":"auth send jwt","requestID":"4a3ed3f669e0558f803983300fba005c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"4a3ed3f669e0558f803983300fba005c","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"72e3d2b9-f1db-4371-b325-d8056e7e81f2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620440.414606} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c53e0ba0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","object_type":"device","rebac_allow":false,"scope_allow":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":"c53e0ba0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c53e0ba0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/0c994891-704c-43f4-9d9a-22b780de8e54/signaling 200 12ms","method":"POST","requestID":"c53e0ba0-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54/signaling"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.149","http_referrer":"","http_user_agent":"node-fetch","requestID":"d703884bbac85f14947b2756c9527c77"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c5442620-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":731,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.827366,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fe3275e9-10eb-453d-8019-b873a02139b9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620440.4547787} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c5442620-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","object_type":"device","rebac_allow":false,"scope_allow":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":"c5442620-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","requestID":"4a3ed3f669e0558f803983300fba005c"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c5442620-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/signaling 200 12ms","method":"POST","requestID":"c5442620-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/signaling"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":732,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.76017,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"4a3ed3f669e0558f803983300fba005c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620440,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MH0.l1uvnaauevB4jkJfcHjrl872v_0Hn94xT3ayPI69X5Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","method":"POST","requestID":"4a3ed3f669e0558f803983300fba005c","responseTime":44,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","requestID":"4a3ed3f669e0558f803983300fba005c"} experiment-1 | {"level":"info","message":"GET /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64 200 58ms","method":"GET","requestID":"4a3ed3f669e0558f803983300fba005c","responseTime":58,"status":200,"url":"/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"} gateway-1 | {"time_local":"02/Apr/2025:19:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64 HTTP/1.1","status": "200","body_bytes_sent":"1288","request_time":"0.132","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a3ed3f669e0558f803983300fba005c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MH0.l1uvnaauevB4jkJfcHjrl872v_0Hn94xT3ayPI69X5Q","level":"info","message":"auth send jwt","requestID":"946d2ec7fa167ea28c0ff64417000bda"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"946d2ec7fa167ea28c0ff64417000bda","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","requestID":"946d2ec7fa167ea28c0ff64417000bda"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":733,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.745269,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"946d2ec7fa167ea28c0ff64417000bda","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620440,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MH0.l1uvnaauevB4jkJfcHjrl872v_0Hn94xT3ayPI69X5Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"946d2ec7fa167ea28c0ff64417000bda","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Attempting to finish experiment","requestID":"946d2ec7fa167ea28c0ff64417000bda"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c5562780-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":734,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.582786,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c5562780-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620440,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MH0.l1uvnaauevB4jkJfcHjrl872v_0Hn94xT3ayPI69X5Q"} authorization-1 | {"level":"info","message":"POST /authorize 200 2ms","method":"POST","requestID":"c5562780-0ff4-11f0-acd3-db29ca75a471","responseTime":2,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","device":"0c994891-704c-43f4-9d9a-22b780de8e54","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/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"46f241f7-d2e8-4f4f-b436-b5e75f19049e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"46f241f7-d2e8-4f4f-b436-b5e75f19049e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"46f241f7-d2e8-4f4f-b436-b5e75f19049e","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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":"480319b1969466351edd1b12a3001e93","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"480319b1969466351edd1b12a3001e93","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/0c994891-704c-43f4-9d9a-22b780de8e54"},{"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/46f241f7-d2e8-4f4f-b436-b5e75f19049e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f"}}},"level":"info","message":"received a callback","requestID":"480319b1969466351edd1b12a3001e93"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e4661c0379337c994d94b7d2bf62ce96","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"e4661c0379337c994d94b7d2bf62ce96","responseTime":0,"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/0c994891-704c-43f4-9d9a-22b780de8e54"},{"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/46f241f7-d2e8-4f4f-b436-b5e75f19049e"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f"}}},"level":"info","message":"received a callback","requestID":"e4661c0379337c994d94b7d2bf62ce96"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb2945cbd-2faa-4ecd-9a1c-b11ebabc716f': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb2945cbd-2faa-4ecd-9a1c-b11ebabc716f","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"fa51f11f-06bd-4ded-8766-8d63de0fc192","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620440.6589217} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2e647dec-8940-4a7b-bafe-783d03be49ed","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620440.659962} authorization-1 | {"level":"info","message":"POST /relations/update 200 55ms","method":"POST","requestID":"c5562780-0ff4-11f0-acd3-db29ca75a471","responseTime":55,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"b2945cbd-2faa-4ecd-9a1c-b11ebabc716f","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c5562780-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f 204 139ms","method":"DELETE","requestID":"c5562780-0ff4-11f0-acd3-db29ca75a471","responseTime":139,"status":204,"url":"/peerconnections/b2945cbd-2faa-4ecd-9a1c-b11ebabc716f"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"},"level":"info","message":"Successfully finished experiment","requestID":"946d2ec7fa167ea28c0ff64417000bda"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c57213f0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":735,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.846059,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F0c994891-704c-43f4-9d9a-22b780de8e54","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"e7adc7cc-65ad-4352-9b66-4375314e4c28","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620440.7559316} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c57213f0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/0c994891-704c-43f4-9d9a-22b780de8e54","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"c57213f0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c57213f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/0c994891-704c-43f4-9d9a-22b780de8e54/signaling 200 42ms","method":"POST","requestID":"c57213f0-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/0c994891-704c-43f4-9d9a-22b780de8e54/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c578cab0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7cb2fe9b-2460-47e6-9f75-8e0986884e64': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F7cb2fe9b-2460-47e6-9f75-8e0986884e64","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"3708aeee-0088-4437-9acd-2ca885daea4e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620440.791901} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"83f1f9d8-2116-4226-9047-390e30274a27","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620440.793024} authorization-1 | {"level":"info","message":"POST /relations/update 200 49ms","method":"POST","requestID":"946d2ec7fa167ea28c0ff64417000bda","responseTime":49,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F46f241f7-d2e8-4f4f-b436-b5e75f19049e","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"47eb2206-4c0d-4513-9d82-06c6fc6a1a9c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620440.804775} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":736,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":4.174765,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:40Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c578cab0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e","object_type":"device","rebac_allow":false,"scope_allow":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":"c578cab0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c578cab0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/signaling 200 43ms","method":"POST","requestID":"c578cab0-0ff4-11f0-acd3-db29ca75a471","responseTime":43,"status":200,"url":"/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e/signaling"} gateway-1 | {"time_local":"02/Apr/2025:19:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.403","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"946d2ec7fa167ea28c0ff64417000bda"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64","requestID":"946d2ec7fa167ea28c0ff64417000bda"} experiment-1 | {"level":"info","message":"DELETE /experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64 204 401ms","method":"DELETE","requestID":"946d2ec7fa167ea28c0ff64417000bda","responseTime":401,"status":204,"url":"/experiments/7cb2fe9b-2460-47e6-9f75-8e0986884e64"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 335ms","method":"POST","requestID":"480319b1969466351edd1b12a3001e93","responseTime":335,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.343","http_referrer":"","http_user_agent":"node-fetch","requestID":"480319b1969466351edd1b12a3001e93"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 337ms","method":"POST","requestID":"e4661c0379337c994d94b7d2bf62ce96","responseTime":337,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.340","http_referrer":"","http_user_agent":"node-fetch","requestID":"e4661c0379337c994d94b7d2bf62ce96"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MX0.VHR2nTHvjlbPEubo5TG2qmSGsMZXzx9qVV-LOQs3ES4","level":"info","message":"auth send jwt","requestID":"3ed53eb7daa883202d2ea9258bce2297"} authentication-1 | {"level":"info","message":"GET /auth 200 33ms","method":"GET","requestID":"3ed53eb7daa883202d2ea9258bce2297","responseTime":33,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2492","request_time":"5.186","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"800fcfdeb926bd5579a10219dcf75934"} gateway-1 | {"time_local":"02/Apr/2025:19:00:40 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"3.883","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"7bb0c3fb0ae5641402286af27ecc863f"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:41Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":737,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.822254,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3ed53eb7daa883202d2ea9258bce2297","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620441,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MX0.VHR2nTHvjlbPEubo5TG2qmSGsMZXzx9qVV-LOQs3ES4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"3ed53eb7daa883202d2ea9258bce2297","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/0c994891-704c-43f4-9d9a-22b780de8e54' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/46f241f7-d2e8-4f4f-b436-b5e75f19049e' closed"} device-1 | {"level":"info","message":"postDevices called","requestID":"3ed53eb7daa883202d2ea9258bce2297"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"fbbb422d-8aaf-417f-9203-a65df482885b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620441.081736} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"3ed53eb7daa883202d2ea9258bce2297","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ab01f846-02e8-442f-8230-f6acaa0b279a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620441.088258} authorization-1 | {"level":"info","message":"POST /relations/update 200 35ms","method":"POST","requestID":"3ed53eb7daa883202d2ea9258bce2297","responseTime":35,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"cc2e456b-c3d0-485a-9b39-d544791b4bfd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620441.138174} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"240d94a3-45cd-4c1c-9c1c-da108d4581f1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620441.1384373} authorization-1 | {"level":"info","message":"POST /relations/update 200 21ms","method":"POST","requestID":"3ed53eb7daa883202d2ea9258bce2297","responseTime":21,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.138138187Z"}]},"request_id":"18b6164d-f521-459f-89ef-df6ba0f8edaf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620441.1733496} authorization-1 | {"level":"info","message":"POST /relations/query 200 31ms","method":"POST","requestID":"3ed53eb7daa883202d2ea9258bce2297","responseTime":31,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"3ed53eb7daa883202d2ea9258bce2297"} device-1 | {"level":"info","message":"POST /devices? 201 144ms","method":"POST","requestID":"3ed53eb7daa883202d2ea9258bce2297","responseTime":144,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.187","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"3ed53eb7daa883202d2ea9258bce2297"} device-1 | {"level":"info","message":"postDevices called","requestID":"44f270b56fd574f9248367639959ea44"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MX0.VHR2nTHvjlbPEubo5TG2qmSGsMZXzx9qVV-LOQs3ES4","level":"info","message":"auth send jwt","requestID":"44f270b56fd574f9248367639959ea44"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"44f270b56fd574f9248367639959ea44","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:41Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":738,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.799175,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:41Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"44f270b56fd574f9248367639959ea44","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620441,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0MX0.VHR2nTHvjlbPEubo5TG2qmSGsMZXzx9qVV-LOQs3ES4"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"44f270b56fd574f9248367639959ea44","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"befbd0bf-133e-4989-b307-922042e89a59","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620441.2653837} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"44f270b56fd574f9248367639959ea44","responseTime":32,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"978b2809-07ea-46b8-ba5f-de6053a6f881","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620441.270667} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"44f270b56fd574f9248367639959ea44","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"aab17cf8-4a1b-4c34-8b9b-7a3f2ae1d346","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620441.2804} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a49c7f4a-2c5e-41e3-aa6d-df71e328360a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620441.281087} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"44f270b56fd574f9248367639959ea44","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.280368980Z"}]},"request_id":"79dea0be-40e2-44da-aa28-b052ce528c87","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620441.2859077} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"44f270b56fd574f9248367639959ea44"} gateway-1 | {"time_local":"02/Apr/2025:19:00:41 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.107","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"44f270b56fd574f9248367639959ea44"} device-1 | {"level":"info","message":"POST /devices? 201 102ms","method":"POST","requestID":"44f270b56fd574f9248367639959ea44","responseTime":102,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 28ms","method":"POST","requestID":"44f270b56fd574f9248367639959ea44","responseTime":28,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Mn0.OOZts5IbkpwuL9CSBWH8L0OVtdhDd3Izw_wPtD_6cLA","level":"info","message":"auth send jwt","requestID":"e162177765b74e46d50e0dd795ffc446"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e162177765b74e46d50e0dd795ffc446","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"e162177765b74e46d50e0dd795ffc446"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:42Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":739,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78123,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e162177765b74e46d50e0dd795ffc446","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620442,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Mn0.OOZts5IbkpwuL9CSBWH8L0OVtdhDd3Izw_wPtD_6cLA"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"e162177765b74e46d50e0dd795ffc446","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.138138187Z"}]},"request_id":"e1e54b24-ceee-4062-b732-ff420b93bbab","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620442.8595207} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e162177765b74e46d50e0dd795ffc446","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e6bbfb66-fffd-4667-96ef-5819223d5c22","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620442.8725796} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"e162177765b74e46d50e0dd795ffc446","responseTime":34,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"e162177765b74e46d50e0dd795ffc446"} gateway-1 | {"time_local":"02/Apr/2025:19:00:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.105","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"e162177765b74e46d50e0dd795ffc446"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.138138187Z"}]},"request_id":"51b39c09-ef6b-4863-8434-b213d9270eb0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620442.905292} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"e162177765b74e46d50e0dd795ffc446","responseTime":7,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Mn0.OOZts5IbkpwuL9CSBWH8L0OVtdhDd3Izw_wPtD_6cLA","level":"info","message":"auth send jwt","requestID":"885a09e69f6e6f43b67b183e6b3a3c97"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"885a09e69f6e6f43b67b183e6b3a3c97","responseTime":5,"status":200,"url":"/auth"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Mn0.OOZts5IbkpwuL9CSBWH8L0OVtdhDd3Izw_wPtD_6cLA","level":"info","message":"auth send jwt","requestID":"93dda200bb8314403ae5b7af29fed8f8"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"93dda200bb8314403ae5b7af29fed8f8","responseTime":5,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"PATCH /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15 200 99ms","method":"PATCH","requestID":"e162177765b74e46d50e0dd795ffc446","responseTime":99,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"885a09e69f6e6f43b67b183e6b3a3c97"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"93dda200bb8314403ae5b7af29fed8f8"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:42Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":740,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.9251,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:42Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"885a09e69f6e6f43b67b183e6b3a3c97","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620442,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Mn0.OOZts5IbkpwuL9CSBWH8L0OVtdhDd3Izw_wPtD_6cLA"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"885a09e69f6e6f43b67b183e6b3a3c97","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"93dda200bb8314403ae5b7af29fed8f8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620442,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Mn0.OOZts5IbkpwuL9CSBWH8L0OVtdhDd3Izw_wPtD_6cLA"} authorization-1 | {"level":"info","message":"POST /authorize 200 14ms","method":"POST","requestID":"93dda200bb8314403ae5b7af29fed8f8","responseTime":14,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:42Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":741,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":9.123813,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:42Z"} gateway-1 | {"time_local":"02/Apr/2025:19:00:42 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.091","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"885a09e69f6e6f43b67b183e6b3a3c97"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"885a09e69f6e6f43b67b183e6b3a3c97"} device-1 | {"level":"info","message":"POST /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/websocket 200 85ms","method":"POST","requestID":"885a09e69f6e6f43b67b183e6b3a3c97","responseTime":85,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/websocket"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.280368980Z"}]},"request_id":"242e2514-8b29-41b9-b8a8-5b8c58aac481","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.0133421} authorization-1 | {"level":"info","message":"POST /relations/query 200 9ms","method":"POST","requestID":"93dda200bb8314403ae5b7af29fed8f8","responseTime":9,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ec81b3d2-09a0-4487-9824-d68df7339fb2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.0442185} authorization-1 | {"level":"info","message":"POST /relations/update 200 3ms","method":"POST","requestID":"93dda200bb8314403ae5b7af29fed8f8","responseTime":3,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15' connected"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.280368980Z"}]},"request_id":"34f5b206-5681-4942-af4a-13f0896f9902","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.062577} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"93dda200bb8314403ae5b7af29fed8f8","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"93dda200bb8314403ae5b7af29fed8f8"} gateway-1 | {"time_local":"02/Apr/2025:19:00:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/927b8e4b-5715-4149-b873-753930c3e0ce HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.154","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"93dda200bb8314403ae5b7af29fed8f8"} device-1 | {"level":"info","message":"PATCH /devices/927b8e4b-5715-4149-b873-753930c3e0ce 200 147ms","method":"PATCH","requestID":"93dda200bb8314403ae5b7af29fed8f8","responseTime":147,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ","level":"info","message":"auth send jwt","requestID":"3726b293bb85474b5d4c392e39d39b41"} authentication-1 | {"level":"info","message":"GET /auth 200 9ms","method":"GET","requestID":"3726b293bb85474b5d4c392e39d39b41","responseTime":9,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"3726b293bb85474b5d4c392e39d39b41"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":742,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":5.18825,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"3726b293bb85474b5d4c392e39d39b41","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620443,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"3726b293bb85474b5d4c392e39d39b41","responseTime":9,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"3726b293bb85474b5d4c392e39d39b41"} device-1 | {"level":"info","message":"POST /devices/927b8e4b-5715-4149-b873-753930c3e0ce/websocket 200 88ms","method":"POST","requestID":"3726b293bb85474b5d4c392e39d39b41","responseTime":88,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce/websocket"} gateway-1 | {"time_local":"02/Apr/2025:19:00:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/927b8e4b-5715-4149-b873-753930c3e0ce/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.097","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"3726b293bb85474b5d4c392e39d39b41"} device-1 | {"level":"info","message":"device 'http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ","level":"info","message":"auth send jwt","requestID":"1dcbeb024270237d05ba2289d215916e"} authentication-1 | {"level":"info","message":"GET /auth 200 31ms","method":"GET","requestID":"1dcbeb024270237d05ba2289d215916e","responseTime":31,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1dcbeb024270237d05ba2289d215916e"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":743,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.945248,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1dcbeb024270237d05ba2289d215916e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620443,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"1dcbeb024270237d05ba2289d215916e","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.138138187Z"}]},"request_id":"24304fd8-fcbd-489d-9915-1a75b5b8197b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.2555265} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"1dcbeb024270237d05ba2289d215916e","responseTime":32,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1dcbeb024270237d05ba2289d215916e"} device-1 | {"level":"info","message":"GET /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15? 200 44ms","method":"GET","requestID":"1dcbeb024270237d05ba2289d215916e","responseTime":44,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.081","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1dcbeb024270237d05ba2289d215916e"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ","level":"info","message":"auth send jwt","requestID":"a052d8c344270bd458660edb237acec7"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"a052d8c344270bd458660edb237acec7","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a052d8c344270bd458660edb237acec7"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":744,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776961,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a052d8c344270bd458660edb237acec7","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620443,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 37ms","method":"POST","requestID":"a052d8c344270bd458660edb237acec7","responseTime":37,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.280368980Z"}]},"request_id":"73772a54-2405-4c45-a105-ba6df8a92f42","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.3359272} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"a052d8c344270bd458660edb237acec7","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a052d8c344270bd458660edb237acec7"} device-1 | {"level":"info","message":"GET /devices/927b8e4b-5715-4149-b873-753930c3e0ce? 200 49ms","method":"GET","requestID":"a052d8c344270bd458660edb237acec7","responseTime":49,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/927b8e4b-5715-4149-b873-753930c3e0ce? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a052d8c344270bd458660edb237acec7"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ","level":"info","message":"auth send jwt","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e3a588308e9a98cb678401a3a36ebfd5","responseTime":2,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":745,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.856168,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e3a588308e9a98cb678401a3a36ebfd5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620443,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e3a588308e9a98cb678401a3a36ebfd5","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Attempting to run experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Attempting to book experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Successfully booked experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c71367e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c713b600-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":746,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.749399,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":747,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.734544,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c71367e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620443,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c71367e0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c713b600-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620443,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"c713b600-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.138138187Z"}]},"request_id":"4976c09e-0e0c-49e2-84c3-8def23befbc0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.5236797} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c71367e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15? 200 42ms","method":"GET","requestID":"c71367e0-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"c71367e0-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.280368980Z"}]},"request_id":"5fbcd7f7-5ee6-46f1-a9bf-818c7bde0f0f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.5248983} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"c713b600-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c713b600-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/927b8e4b-5715-4149-b873-753930c3e0ce? 200 51ms","method":"GET","requestID":"c713b600-0ff4-11f0-acd3-db29ca75a471","responseTime":51,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Setting up experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Successfully set up experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7317730-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c7319e40-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7321370-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Successfully running experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":748,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.77063,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":749,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":24.972771,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c7317730-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620443,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"c7317730-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c7319e40-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620443,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 42ms","method":"POST","requestID":"c7319e40-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":750,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.983162,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ccf1409a-1b63-4a05-b791-3ebb1cca6de5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.723185} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c7321370-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","method":"POST","requestID":"c7321370-0ff4-11f0-acd3-db29ca75a471","responseTime":44,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7321370-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/signaling 200 81ms","method":"POST","requestID":"c7321370-0ff4-11f0-acd3-db29ca75a471","responseTime":81,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c73ebda0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.138138187Z"}]},"request_id":"bd7d6e78-9843-4a7d-8410-afe6e5e2252e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.7743454} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.280368980Z"}]},"request_id":"82079a71-36b5-4962-b875-18505b96aaff","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.7743926} authorization-1 | {"level":"info","message":"POST /relations/query 200 15ms","method":"POST","requestID":"c7319e40-0ff4-11f0-acd3-db29ca75a471","responseTime":15,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7319e40-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/query 200 18ms","method":"POST","requestID":"c7317730-0ff4-11f0-acd3-db29ca75a471","responseTime":18,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":751,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.568429,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a97f822a-9049-41c5-a502-34a9ac488c58","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.777955} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c73ebda0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"c73ebda0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"GET /devices/927b8e4b-5715-4149-b873-753930c3e0ce? 200 126ms","method":"GET","requestID":"c7319e40-0ff4-11f0-acd3-db29ca75a471","responseTime":126,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46136a5d-e0e5-4806-bb48-7c3526f9d9e1#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46136a5d-e0e5-4806-bb48-7c3526f9d9e1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"66607086-8977-4fff-a328-9ec0ebe18137","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.8214993} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c7317730-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15? 200 143ms","method":"GET","requestID":"c7317730-0ff4-11f0-acd3-db29ca75a471","responseTime":143,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c73ebda0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/927b8e4b-5715-4149-b873-753930c3e0ce/signaling 200 57ms","method":"POST","requestID":"c73ebda0-0ff4-11f0-acd3-db29ca75a471","responseTime":57,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce/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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ead56bd4-d36a-4b09-96c9-2141d533f780","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.8227463} authorization-1 | {"level":"info","message":"POST /relations/update 200 101ms","method":"POST","requestID":"e3a588308e9a98cb678401a3a36ebfd5","responseTime":101,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c74c2b20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":752,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.1225,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a9f7c210-753d-4916-b7cb-6a3152dc17bf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.8630636} experiment-1 | {"data":{"experiment":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c74c2b20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","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 529ms","method":"POST","requestID":"e3a588308e9a98cb678401a3a36ebfd5","responseTime":529,"status":201,"url":"/experiments?"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"c74c2b20-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:19:00:43 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.535","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ","level":"info","message":"auth send jwt","requestID":"d0a27692ad6a526909330bff9d52329f"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"d0a27692ad6a526909330bff9d52329f","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c74c2b20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/signaling 200 52ms","method":"POST","requestID":"c74c2b20-0ff4-11f0-acd3-db29ca75a471","responseTime":52,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d0a27692ad6a526909330bff9d52329f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7548f90-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":753,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.930284,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d0a27692ad6a526909330bff9d52329f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620443,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d0a27692ad6a526909330bff9d52329f","responseTime":5,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":754,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.430838,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:43Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3d0d1557-8b94-4cd5-b1e5-9914946c8786","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.9245012} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.138138187Z"}]},"request_id":"ed3c028b-cecc-4d39-9556-2de9265a03d7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620443.966941} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c7548f90-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 54ms","method":"POST","requestID":"c7548f90-0ff4-11f0-acd3-db29ca75a471","responseTime":54,"status":200,"url":"/authorize"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"d0a27692ad6a526909330bff9d52329f","responseTime":7,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7548f90-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/927b8e4b-5715-4149-b873-753930c3e0ce/signaling 200 99ms","method":"POST","requestID":"c7548f90-0ff4-11f0-acd3-db29ca75a471","responseTime":99,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d0a27692ad6a526909330bff9d52329f"} device-1 | {"level":"info","message":"GET /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15? 200 103ms","method":"GET","requestID":"d0a27692ad6a526909330bff9d52329f","responseTime":103,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Building connection plan","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} gateway-1 | {"time_local":"02/Apr/2025:19:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.136","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d0a27692ad6a526909330bff9d52329f"} 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":"8ebd8711-a489-4570-8311-5da9b0228600"},{"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":"db8ea214-2678-4491-87ee-4de98c871c19"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"5045f4ff-3573-4b36-be71-729d70b57980"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0NH0.IIl9SWyUyi5MBLe1S2VSiae5o2KJbWxfd7vYkGkgwBg","level":"info","message":"auth send jwt","requestID":"1e12f8b724bb6b80c42d6deae916a715"} 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/927b8e4b-5715-4149-b873-753930c3e0ce"},{"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/8ca65451-e249-4bd3-9fe7-004a0766ad15"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"1e12f8b724bb6b80c42d6deae916a715","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"c7695010-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"1e12f8b724bb6b80c42d6deae916a715"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":755,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":2.397674,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:44Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":756,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.917047,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:44Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c7695010-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620443,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0M30.dUVLxFkbnzF1tZNw4BW06NLzYVBRRJVv-mmgBYQ_snQ"} authorization-1 | {"level":"info","message":"POST /authorize 200 44ms","method":"POST","requestID":"c7695010-0ff4-11f0-acd3-db29ca75a471","responseTime":44,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"1e12f8b724bb6b80c42d6deae916a715","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620444,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0NH0.IIl9SWyUyi5MBLe1S2VSiae5o2KJbWxfd7vYkGkgwBg"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"1e12f8b724bb6b80c42d6deae916a715","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:41.280368980Z"}]},"request_id":"d24cef73-16f4-4a0f-8ef4-41d34b0d5eab","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620444.1043856} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"1e12f8b724bb6b80c42d6deae916a715","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"1e12f8b724bb6b80c42d6deae916a715"} device-1 | {"level":"info","message":"GET /devices/927b8e4b-5715-4149-b873-753930c3e0ce? 200 60ms","method":"GET","requestID":"1e12f8b724bb6b80c42d6deae916a715","responseTime":60,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:44 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/927b8e4b-5715-4149-b873-753930c3e0ce? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.091","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"1e12f8b724bb6b80c42d6deae916a715"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"d8a4c1e1-52c5-4fe9-ace7-284a69bb4128","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620444.1109037} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65434432-fc76-4bae-92f1-3dfa4045d89c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620444.1115894} authorization-1 | {"level":"info","message":"POST /relations/update 200 8ms","method":"POST","requestID":"c7695010-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"c7695010-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"c7695010-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46'","requestID":"c7695010-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46'","requestID":"c7695010-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"c7695010-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 104ms","method":"POST","requestID":"c7695010-0ff4-11f0-acd3-db29ca75a471","responseTime":104,"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":"c7695010-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e3a588308e9a98cb678401a3a36ebfd5"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c7893420-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:44Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2de0a823-94db-4281-a5ac-62eb09611f5b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620444.263821} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":757,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.329558,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c7893420-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","object_type":"device","rebac_allow":false,"scope_allow":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":"c7893420-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c7893420-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/signaling 200 35ms","method":"POST","requestID":"c7893420-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c78ed970-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:44Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bcfa4702-9114-4a4e-abc6-a5971b4812d8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620444.3003573} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":758,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.190472,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:44Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c78ed970-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"c78ed970-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c78ed970-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/927b8e4b-5715-4149-b873-753930c3e0ce/signaling 200 11ms","method":"POST","requestID":"c78ed970-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce/signaling"} device-1 | {"device":"8ca65451-e249-4bd3-9fe7-004a0766ad15","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"b57187ef-c1e9-4c52-b0a4-47878f86bf46","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"927b8e4b-5715-4149-b873-753930c3e0ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927b8e4b-5715-4149-b873-753930c3e0ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927b8e4b-5715-4149-b873-753930c3e0ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927b8e4b-5715-4149-b873-753930c3e0ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927b8e4b-5715-4149-b873-753930c3e0ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"b57187ef-c1e9-4c52-b0a4-47878f86bf46","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b57187ef-c1e9-4c52-b0a4-47878f86bf46","statusDeviceA":"connecting","statusDeviceB":"new"},"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":"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/927b8e4b-5715-4149-b873-753930c3e0ce"},{"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/8ca65451-e249-4bd3-9fe7-004a0766ad15"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46"}}},"level":"info","message":"received a callback","requestID":"599ab10d5404fa52c51ab755d48e7eeb"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"599ab10d5404fa52c51ab755d48e7eeb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"599ab10d5404fa52c51ab755d48e7eeb","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"8ca65451-e249-4bd3-9fe7-004a0766ad15","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8ca65451-e249-4bd3-9fe7-004a0766ad15","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8ca65451-e249-4bd3-9fe7-004a0766ad15","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"b57187ef-c1e9-4c52-b0a4-47878f86bf46","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"927b8e4b-5715-4149-b873-753930c3e0ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.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 37ms","method":"POST","requestID":"599ab10d5404fa52c51ab755d48e7eeb","responseTime":37,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.040","http_referrer":"","http_user_agent":"node-fetch","requestID":"599ab10d5404fa52c51ab755d48e7eeb"} device-1 | {"device":"8ca65451-e249-4bd3-9fe7-004a0766ad15","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927b8e4b-5715-4149-b873-753930c3e0ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8ca65451-e249-4bd3-9fe7-004a0766ad15","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"b57187ef-c1e9-4c52-b0a4-47878f86bf46","statusDeviceA":"connected","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"5fe4245ef7cb6459a08a769a89f6b878","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"5fe4245ef7cb6459a08a769a89f6b878","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b57187ef-c1e9-4c52-b0a4-47878f86bf46","statusDeviceA":"connected","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":"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/927b8e4b-5715-4149-b873-753930c3e0ce"},{"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/8ca65451-e249-4bd3-9fe7-004a0766ad15"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46"}}},"level":"info","message":"received a callback","requestID":"5fe4245ef7cb6459a08a769a89f6b878"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"c8cc3b70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb57187ef-c1e9-4c52-b0a4-47878f86bf46","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"95d36565-fd68-402c-8eea-a47befcb0f69","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620446.4112883} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":759,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.619078,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c8cc3b70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"c8cc3b70-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"c8cc3b70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46 200 42ms","method":"GET","requestID":"c8cc3b70-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Nn0.DLVydIoQtMHHyEqrjD_10VGSQjF6sB_o76JE8jBseok","level":"info","message":"auth send jwt","requestID":"770e483ce2efa267c87ee7eccb418c26"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"770e483ce2efa267c87ee7eccb418c26","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1","requestID":"770e483ce2efa267c87ee7eccb418c26"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":760,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.837667,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"770e483ce2efa267c87ee7eccb418c26","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620446,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Nn0.DLVydIoQtMHHyEqrjD_10VGSQjF6sB_o76JE8jBseok"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"770e483ce2efa267c87ee7eccb418c26","responseTime":36,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 154ms","method":"POST","requestID":"5fe4245ef7cb6459a08a769a89f6b878","responseTime":154,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.158","http_referrer":"","http_user_agent":"node-fetch","requestID":"5fe4245ef7cb6459a08a769a89f6b878"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c8e1e650-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"bb34095c-b837-42a2-830f-374eafca1f38","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620446.5465345} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1","requestID":"770e483ce2efa267c87ee7eccb418c26"} experiment-1 | {"level":"info","message":"GET /experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1 200 86ms","method":"GET","requestID":"770e483ce2efa267c87ee7eccb418c26","responseTime":86,"status":200,"url":"/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":761,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.511284,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c8e1e650-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","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":"02/Apr/2025:19:00:46 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.127","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"770e483ce2efa267c87ee7eccb418c26"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Nn0.DLVydIoQtMHHyEqrjD_10VGSQjF6sB_o76JE8jBseok","level":"info","message":"auth send jwt","requestID":"b3f4d94a9932d604ae8ebbbf27667a82"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b3f4d94a9932d604ae8ebbbf27667a82","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c8e1e650-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1","requestID":"b3f4d94a9932d604ae8ebbbf27667a82"} device-1 | {"level":"info","message":"POST /devices/927b8e4b-5715-4149-b873-753930c3e0ce/signaling 200 39ms","method":"POST","requestID":"c8e1e650-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","method":"POST","requestID":"c8e1e650-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c8e87600-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":762,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.942332,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b3f4d94a9932d604ae8ebbbf27667a82","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620446,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Nn0.DLVydIoQtMHHyEqrjD_10VGSQjF6sB_o76JE8jBseok"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"b3f4d94a9932d604ae8ebbbf27667a82","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":763,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":30.893163,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3f46d611-de30-46bf-9af3-da718d87c7f2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620446.5939157} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c8e87600-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","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":"c8e87600-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/signaling 200 41ms","method":"POST","requestID":"c8e87600-0ff4-11f0-acd3-db29ca75a471","responseTime":41,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/signaling"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","method":"POST","requestID":"c8e87600-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Attempting to finish experiment","requestID":"b3f4d94a9932d604ae8ebbbf27667a82"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"c8f0b360-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":764,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":1.051539,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c8f0b360-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620446,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0Nn0.DLVydIoQtMHHyEqrjD_10VGSQjF6sB_o76JE8jBseok"} authorization-1 | {"level":"info","message":"POST /authorize 200 32ms","method":"POST","requestID":"c8f0b360-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"device":"8ca65451-e249-4bd3-9fe7-004a0766ad15","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8ca65451-e249-4bd3-9fe7-004a0766ad15","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"8ca65451-e249-4bd3-9fe7-004a0766ad15","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927b8e4b-5715-4149-b873-753930c3e0ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927b8e4b-5715-4149-b873-753930c3e0ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"927b8e4b-5715-4149-b873-753930c3e0ce","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/b57187ef-c1e9-4c52-b0a4-47878f86bf46' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b57187ef-c1e9-4c52-b0a4-47878f86bf46","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"38da7a2a8322fda6132feea9164636ed","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"38da7a2a8322fda6132feea9164636ed","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/927b8e4b-5715-4149-b873-753930c3e0ce"},{"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/8ca65451-e249-4bd3-9fe7-004a0766ad15"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46"}}},"level":"info","message":"received a callback","requestID":"38da7a2a8322fda6132feea9164636ed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9b81829fccba983a84fa7319ebb61282","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9b81829fccba983a84fa7319ebb61282","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":"connected","url":"http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce"},{"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/8ca65451-e249-4bd3-9fe7-004a0766ad15"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46"}}},"level":"info","message":"received a callback","requestID":"9b81829fccba983a84fa7319ebb61282"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb57187ef-c1e9-4c52-b0a4-47878f86bf46': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb57187ef-c1e9-4c52-b0a4-47878f86bf46","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"0b75d527-a412-4958-a140-99df19e0d4eb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620446.6899116} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"275ec2c8-4215-4ffd-acac-d61a094f3f62","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620446.691369} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"c8f0b360-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":200,"url":"/relations/update"} device-1 | {"data":{"peerconnection":"b57187ef-c1e9-4c52-b0a4-47878f86bf46","statusDeviceA":"closed","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"c8f0b360-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46 204 129ms","method":"DELETE","requestID":"c8f0b360-0ff4-11f0-acd3-db29ca75a471","responseTime":129,"status":204,"url":"/peerconnections/b57187ef-c1e9-4c52-b0a4-47878f86bf46"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"},"level":"info","message":"Successfully finished experiment","requestID":"b3f4d94a9932d604ae8ebbbf27667a82"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c90af220-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F927b8e4b-5715-4149-b873-753930c3e0ce","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2cb2697c-6c01-4d9a-bf0c-377cd1012ff2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620446.7952192} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":765,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.439371,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c90af220-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 11ms","method":"POST","requestID":"c90af220-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c90af220-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/927b8e4b-5715-4149-b873-753930c3e0ce/signaling 200 20ms","method":"POST","requestID":"c90af220-0ff4-11f0-acd3-db29ca75a471","responseTime":20,"status":200,"url":"/devices/927b8e4b-5715-4149-b873-753930c3e0ce/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"c9121e10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46136a5d-e0e5-4806-bb48-7c3526f9d9e1': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F46136a5d-e0e5-4806-bb48-7c3526f9d9e1","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"97d77c94-ce77-46df-94be-d6ae1af73e80","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620446.8562765} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":766,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.065102,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:46Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"4b8168d7-11c9-4062-b65d-8c86e309933b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620446.8826609} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8ca65451-e249-4bd3-9fe7-004a0766ad15","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"05515e91-24ac-431a-88e4-cd657b4b173c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620446.8832786} authorization-1 | {"level":"info","message":"POST /relations/update 200 101ms","method":"POST","requestID":"b3f4d94a9932d604ae8ebbbf27667a82","responseTime":101,"status":200,"url":"/relations/update"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c9121e10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"c9121e10-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"c9121e10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/signaling 200 66ms","method":"POST","requestID":"c9121e10-0ff4-11f0-acd3-db29ca75a471","responseTime":66,"status":200,"url":"/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1","requestID":"b3f4d94a9932d604ae8ebbbf27667a82"} gateway-1 | {"time_local":"02/Apr/2025:19:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"3.854","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"0a7eba801939ad486a37878077c112eb"} gateway-1 | {"time_local":"02/Apr/2025:19:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2751","request_time":"4.041","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"648fc3e24f9ef62476e716f0b25db389"} gateway-1 | {"time_local":"02/Apr/2025:19:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.487","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b3f4d94a9932d604ae8ebbbf27667a82"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0N30.M_3ahfLI-Lcn_4JqqO34n6qjzz1MkZtWvw0y8EgckTM","level":"info","message":"auth send jwt","requestID":"474538bc2cf0a9d8a3de326905b01f5a"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8ca65451-e249-4bd3-9fe7-004a0766ad15' closed"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"474538bc2cf0a9d8a3de326905b01f5a","responseTime":4,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"DELETE /experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1 204 518ms","method":"DELETE","requestID":"b3f4d94a9932d604ae8ebbbf27667a82","responseTime":518,"status":204,"url":"/experiments/46136a5d-e0e5-4806-bb48-7c3526f9d9e1"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 386ms","method":"POST","requestID":"38da7a2a8322fda6132feea9164636ed","responseTime":386,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.413","http_referrer":"","http_user_agent":"node-fetch","requestID":"38da7a2a8322fda6132feea9164636ed"} device-1 | {"level":"info","message":"postDevices called","requestID":"474538bc2cf0a9d8a3de326905b01f5a"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 394ms","method":"POST","requestID":"9b81829fccba983a84fa7319ebb61282","responseTime":394,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.399","http_referrer":"","http_user_agent":"node-fetch","requestID":"9b81829fccba983a84fa7319ebb61282"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":767,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":3.587359,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"474538bc2cf0a9d8a3de326905b01f5a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620447,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0N30.M_3ahfLI-Lcn_4JqqO34n6qjzz1MkZtWvw0y8EgckTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"474538bc2cf0a9d8a3de326905b01f5a","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/927b8e4b-5715-4149-b873-753930c3e0ce' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"d2219a8c-52f1-45bb-a913-19a80e485d8f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620447.217014} authorization-1 | {"level":"info","message":"POST /relations/query 200 30ms","method":"POST","requestID":"474538bc2cf0a9d8a3de326905b01f5a","responseTime":30,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"d4cf6801-3375-4847-97af-1b3b3d0e664b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620447.226915} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"474538bc2cf0a9d8a3de326905b01f5a","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"8a87a1d2-d411-4052-95c9-c3a6615c5d60","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620447.2812815} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e7f9d360-cb24-46b9-9d66-54dab8ce5edf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620447.281485} authorization-1 | {"level":"info","message":"POST /relations/update 200 55ms","method":"POST","requestID":"474538bc2cf0a9d8a3de326905b01f5a","responseTime":55,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"02/Apr/2025:19:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.276","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"474538bc2cf0a9d8a3de326905b01f5a"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.281243806Z"}]},"request_id":"7f9896cc-9cde-4bbe-89a7-5361f0c7f178","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620447.3135629} authorization-1 | {"level":"info","message":"POST /relations/query 200 34ms","method":"POST","requestID":"474538bc2cf0a9d8a3de326905b01f5a","responseTime":34,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"474538bc2cf0a9d8a3de326905b01f5a"} device-1 | {"level":"info","message":"POST /devices? 201 242ms","method":"POST","requestID":"474538bc2cf0a9d8a3de326905b01f5a","responseTime":242,"status":201,"url":"/devices?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0N30.M_3ahfLI-Lcn_4JqqO34n6qjzz1MkZtWvw0y8EgckTM","level":"info","message":"auth send jwt","requestID":"f795e1e69e2245d1abf541967808b04a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f795e1e69e2245d1abf541967808b04a","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"f795e1e69e2245d1abf541967808b04a"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:47Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":768,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.941735,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:47Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f795e1e69e2245d1abf541967808b04a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620447,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0N30.M_3ahfLI-Lcn_4JqqO34n6qjzz1MkZtWvw0y8EgckTM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"f795e1e69e2245d1abf541967808b04a","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"5ba6c111-17a8-4184-922c-519f5d163b0a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620447.4212594} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"f795e1e69e2245d1abf541967808b04a","responseTime":6,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e22aef01-8f9a-4754-ab42-aa408fa462b3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620447.4271245} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"f795e1e69e2245d1abf541967808b04a","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"5105d7b3-1da8-4ba8-9a98-97993c093c71","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620447.467559} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"b2c51cbf-97eb-42cb-b825-bb1ec0a2d27b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620447.467926} authorization-1 | {"level":"info","message":"POST /relations/update 200 43ms","method":"POST","requestID":"f795e1e69e2245d1abf541967808b04a","responseTime":43,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.467897068Z"}]},"request_id":"9b211f70-79a8-47c2-95fa-a9cc8902614b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620447.4726899} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"f795e1e69e2245d1abf541967808b04a"} gateway-1 | {"time_local":"02/Apr/2025:19:00:47 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"316","request_time":"0.155","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f795e1e69e2245d1abf541967808b04a"} device-1 | {"level":"info","message":"POST /devices? 201 150ms","method":"POST","requestID":"f795e1e69e2245d1abf541967808b04a","responseTime":150,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"f795e1e69e2245d1abf541967808b04a","responseTime":4,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OH0.v4Dbs9aqIMzMDOkHzoqkDsGcV3GkS7AoZIa14O9tPLg","level":"info","message":"auth send jwt","requestID":"c549d162b684f5ca295a7e17ae2328c5"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"c549d162b684f5ca295a7e17ae2328c5"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"c549d162b684f5ca295a7e17ae2328c5","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:48Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":769,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.796475,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:48Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c549d162b684f5ca295a7e17ae2328c5","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620448,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OH0.v4Dbs9aqIMzMDOkHzoqkDsGcV3GkS7AoZIa14O9tPLg"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"c549d162b684f5ca295a7e17ae2328c5","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.281243806Z"}]},"request_id":"b9c67a16-5492-44d9-8808-795073d1bb53","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.0004895} authorization-1 | {"level":"info","message":"POST /relations/query 200 8ms","method":"POST","requestID":"c549d162b684f5ca295a7e17ae2328c5","responseTime":8,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"57921fb7-bcc3-4834-bcfc-8318912218b1","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.0089655} authorization-1 | {"level":"info","message":"POST /relations/update 200 9ms","method":"POST","requestID":"c549d162b684f5ca295a7e17ae2328c5","responseTime":9,"status":200,"url":"/relations/update"} gateway-1 | {"time_local":"02/Apr/2025:19:00:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.094","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"c549d162b684f5ca295a7e17ae2328c5"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"c549d162b684f5ca295a7e17ae2328c5"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.281243806Z"}]},"request_id":"0f26e4d1-349f-4fd6-8987-9bd670912461","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.0535038} device-1 | {"level":"info","message":"PATCH /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d 200 90ms","method":"PATCH","requestID":"c549d162b684f5ca295a7e17ae2328c5","responseTime":90,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d"} authorization-1 | {"level":"info","message":"POST /relations/query 200 6ms","method":"POST","requestID":"c549d162b684f5ca295a7e17ae2328c5","responseTime":6,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM","level":"info","message":"auth send jwt","requestID":"0865b42f8082450284abe1a6eca64da2"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"0865b42f8082450284abe1a6eca64da2","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"0865b42f8082450284abe1a6eca64da2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM","level":"info","message":"auth send jwt","requestID":"8d8b61698a9deb3a08352ef18e886723"} device-1 | {"level":"info","message":"patchDevicesByDeviceId called","requestID":"8d8b61698a9deb3a08352ef18e886723"} authentication-1 | {"level":"info","message":"GET /auth 200 6ms","method":"GET","requestID":"8d8b61698a9deb3a08352ef18e886723","responseTime":6,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":770,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.784968,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"0865b42f8082450284abe1a6eca64da2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 16ms","method":"POST","requestID":"0865b42f8082450284abe1a6eca64da2","responseTime":16,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":771,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.854345,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"8d8b61698a9deb3a08352ef18e886723","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 33ms","method":"POST","requestID":"8d8b61698a9deb3a08352ef18e886723","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"0865b42f8082450284abe1a6eca64da2"} gateway-1 | {"time_local":"02/Apr/2025:19:00:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.096","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"0865b42f8082450284abe1a6eca64da2"} device-1 | {"level":"info","message":"POST /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/websocket 200 63ms","method":"POST","requestID":"0865b42f8082450284abe1a6eca64da2","responseTime":63,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/websocket"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.467897068Z"}]},"request_id":"1f192413-2fb8-49b9-87ef-e29b01ace14e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.1875927} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","method":"POST","requestID":"8d8b61698a9deb3a08352ef18e886723","responseTime":36,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"77c6d2c0-178d-4329-952d-8e105ddc1891","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.2001739} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"8d8b61698a9deb3a08352ef18e886723","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"device 'http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d' connected"} device-1 | {"level":"info","message":"patchDevicesByDeviceId succeeded","requestID":"8d8b61698a9deb3a08352ef18e886723"} device-1 | {"level":"info","message":"PATCH /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887 200 149ms","method":"PATCH","requestID":"8d8b61698a9deb3a08352ef18e886723","responseTime":149,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.467897068Z"}]},"request_id":"75fe1713-1e19-49a9-a643-6816c87397e7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.249944} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"8d8b61698a9deb3a08352ef18e886723","responseTime":5,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:19:00:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"PATCH /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887 HTTP/1.1","status": "200","body_bytes_sent":"1087","request_time":"0.154","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"8d8b61698a9deb3a08352ef18e886723"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"7310ba066ba8ffe6ca0a72a20d4f17d0"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM","level":"info","message":"auth send jwt","requestID":"7310ba066ba8ffe6ca0a72a20d4f17d0"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"7310ba066ba8ffe6ca0a72a20d4f17d0","responseTime":27,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":772,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.85602,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7310ba066ba8ffe6ca0a72a20d4f17d0","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 106ms","method":"POST","requestID":"7310ba066ba8ffe6ca0a72a20d4f17d0","responseTime":106,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"7310ba066ba8ffe6ca0a72a20d4f17d0"} device-1 | {"level":"info","message":"POST /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/websocket 200 148ms","method":"POST","requestID":"7310ba066ba8ffe6ca0a72a20d4f17d0","responseTime":148,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/websocket"} gateway-1 | {"time_local":"02/Apr/2025:19:00:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.176","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"7310ba066ba8ffe6ca0a72a20d4f17d0"} device-1 | {"level":"info","message":"device 'http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM","level":"info","message":"auth send jwt","requestID":"e4874d17ed52c1d936d39788c94c1fd2"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"e4874d17ed52c1d936d39788c94c1fd2","responseTime":4,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4874d17ed52c1d936d39788c94c1fd2"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":773,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.914476,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e4874d17ed52c1d936d39788c94c1fd2","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"e4874d17ed52c1d936d39788c94c1fd2","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.281243806Z"}]},"request_id":"715b5eb6-6f90-4f11-8bcc-ac017376d5f5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.570484} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"e4874d17ed52c1d936d39788c94c1fd2","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4874d17ed52c1d936d39788c94c1fd2"} device-1 | {"level":"info","message":"GET /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d? 200 44ms","method":"GET","requestID":"e4874d17ed52c1d936d39788c94c1fd2","responseTime":44,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4874d17ed52c1d936d39788c94c1fd2"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM","level":"info","message":"auth send jwt","requestID":"c821ca4427a2afc24576ab1290287c83"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"c821ca4427a2afc24576ab1290287c83","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"c821ca4427a2afc24576ab1290287c83"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":774,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799261,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"c821ca4427a2afc24576ab1290287c83","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"c821ca4427a2afc24576ab1290287c83","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.467897068Z"}]},"request_id":"2c26ea08-a419-42bb-9a15-b4475ea131d5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.5893223} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"c821ca4427a2afc24576ab1290287c83","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"c821ca4427a2afc24576ab1290287c83"} device-1 | {"level":"info","message":"GET /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887? 200 36ms","method":"GET","requestID":"c821ca4427a2afc24576ab1290287c83","responseTime":36,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:49 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"c821ca4427a2afc24576ab1290287c83"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM","level":"info","message":"auth send jwt","requestID":"e42c2f940ec0b87ac591fbad44672e60"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e42c2f940ec0b87ac591fbad44672e60","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"e42c2f940ec0b87ac591fbad44672e60"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":775,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.778239,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e42c2f940ec0b87ac591fbad44672e60","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 8ms","method":"POST","requestID":"e42c2f940ec0b87ac591fbad44672e60","responseTime":8,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Attempting to run experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Attempting to book experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Successfully booked experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cacb3fc0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cacb66d0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":776,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.799549,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cacb3fc0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cacb3fc0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":777,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.75617,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cacb66d0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cacb66d0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.281243806Z"}]},"request_id":"3fe3c230-3b5b-41cc-9680-da1c394aa8bd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.7350776} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"cacb3fc0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.467897068Z"}]},"request_id":"622381c4-e56c-41fd-b79d-48fca37ab787","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.7359548} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"cacb66d0-0ff4-11f0-acd3-db29ca75a471","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cacb3fc0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d? 200 46ms","method":"GET","requestID":"cacb3fc0-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cacb66d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887? 200 46ms","method":"GET","requestID":"cacb66d0-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Setting up experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Successfully locked booking for experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Attempting to update booking for experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Successfully updated booking for experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Successfully set up experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cae88bc0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cae8d9e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cae900f0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":778,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.906766,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":779,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.722226,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cae88bc0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cae88bc0-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cae8d9e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"cae8d9e0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":780,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.753989,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:49Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"9f55cf62-eef9-42da-a533-e25a99cb815a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.9275417} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cae900f0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 43ms","method":"POST","requestID":"cae900f0-0ff4-11f0-acd3-db29ca75a471","responseTime":43,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Successfully running experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.467897068Z"}]},"request_id":"aa8ffc80-05cc-45a9-9790-3aab4d7073ab","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.9695113} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"cae8d9e0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.281243806Z"}]},"request_id":"90077de9-f2d9-4e7c-b5c6-43d4933a78b9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620449.9757905} authorization-1 | {"level":"info","message":"POST /relations/query 200 32ms","method":"POST","requestID":"cae88bc0-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cae900f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/signaling 200 83ms","method":"POST","requestID":"cae900f0-0ff4-11f0-acd3-db29ca75a471","responseTime":83,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/signaling"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cae8d9e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887? 200 87ms","method":"GET","requestID":"cae8d9e0-0ff4-11f0-acd3-db29ca75a471","responseTime":87,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cae88bc0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d? 200 106ms","method":"GET","requestID":"cae88bc0-0ff4-11f0-acd3-db29ca75a471","responseTime":106,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cafcfe20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ba94664-6847-4994-803e-59255f156246#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ba94664-6847-4994-803e-59255f156246","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"bce913a5-4181-4de5-9294-3a61e73d943b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.0495622} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"81dce71a-5991-42dd-8206-6896de4039a8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.0501006} authorization-1 | {"level":"info","message":"POST /relations/update 200 80ms","method":"POST","requestID":"e42c2f940ec0b87ac591fbad44672e60","responseTime":80,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:50Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cafe0f90-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a7b2fa59-df3a-4b22-beff-4535fc5bd633","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.061997} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":781,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":9.566679,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":782,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.787188,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cafcfe20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 15ms","method":"POST","requestID":"cafcfe20-0ff4-11f0-acd3-db29ca75a471","responseTime":15,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a22ebb77-d1c9-4c9a-b57f-93c6c2df2fd5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.0660517} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cafe0f90-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","rebac_allow":false,"scope_allow":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":"cafe0f90-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cafcfe20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/signaling 200 52ms","method":"POST","requestID":"cafcfe20-0ff4-11f0-acd3-db29ca75a471","responseTime":52,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cafe0f90-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/signaling 200 47ms","method":"POST","requestID":"cafe0f90-0ff4-11f0-acd3-db29ca75a471","responseTime":47,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb05fed0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"level":"info","message":"POST /experiments? 201 484ms","method":"POST","requestID":"e42c2f940ec0b87ac591fbad44672e60","responseTime":484,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1219","request_time":"0.491","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e42c2f940ec0b87ac591fbad44672e60"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1MH0.Eu-qPmT3dke6LJ7zQH-mgqa-xV67B32iRpeYbEZVr90","level":"info","message":"auth send jwt","requestID":"e4d8f64d482e980649cf2d022f4b6c41"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"e4d8f64d482e980649cf2d022f4b6c41","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"e4d8f64d482e980649cf2d022f4b6c41"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":783,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":8.340956,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f59a80b4-763e-4b1a-88c3-eb54b29942fe","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.119125} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cb05fed0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 36ms","method":"POST","requestID":"cb05fed0-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":784,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.776016,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e4d8f64d482e980649cf2d022f4b6c41","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620450,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1MH0.Eu-qPmT3dke6LJ7zQH-mgqa-xV67B32iRpeYbEZVr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"e4d8f64d482e980649cf2d022f4b6c41","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb05fed0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/signaling 200 45ms","method":"POST","requestID":"cb05fed0-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.281243806Z"}]},"request_id":"6c55ee50-8806-4a6d-b462-dcdbc41da27d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.1587534} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"e4d8f64d482e980649cf2d022f4b6c41","responseTime":4,"status":200,"url":"/relations/query"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Building connection plan","requestID":"e42c2f940ec0b87ac591fbad44672e60"} 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":"bc992b39-bdb2-49a8-96a3-dd44633ef7e7"},{"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":"6ee02ae1-61bf-4281-b5c0-e1bde0f6a548"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"1fede642-3d70-483f-b206-72b2664f16b0"}]},"level":"info","message":"Built pairwise service configurations","requestID":"e42c2f940ec0b87ac591fbad44672e60"} 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/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d"},{"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/853c5e7a-fca9-4ad3-853e-dc9a8e227887"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"e42c2f940ec0b87ac591fbad44672e60"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":785,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.801072,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620449,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ0OX0.qKUbmwWbK7dBnjuoIfrUfuw1QbshLMr9lF12c7fXpaM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"e4d8f64d482e980649cf2d022f4b6c41"} gateway-1 | {"time_local":"02/Apr/2025:19:00:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.144","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e4d8f64d482e980649cf2d022f4b6c41"} device-1 | {"level":"info","message":"GET /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d? 200 140ms","method":"GET","requestID":"e4d8f64d482e980649cf2d022f4b6c41","responseTime":140,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1MH0.Eu-qPmT3dke6LJ7zQH-mgqa-xV67B32iRpeYbEZVr90","level":"info","message":"auth send jwt","requestID":"4a8f721530fca6acdf9a4187f7b7638e"} authentication-1 | {"level":"info","message":"GET /auth 200 33ms","method":"GET","requestID":"4a8f721530fca6acdf9a4187f7b7638e","responseTime":33,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"4a8f721530fca6acdf9a4187f7b7638e"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"8b2fd702-0eda-4dec-85ac-eb24c28068b9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.2990222} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"589d15e5-97c5-40e8-80a9-dc7c1ba29f68","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.3001168} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":786,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.207818,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"4a8f721530fca6acdf9a4187f7b7638e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620450,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1MH0.Eu-qPmT3dke6LJ7zQH-mgqa-xV67B32iRpeYbEZVr90"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"4a8f721530fca6acdf9a4187f7b7638e","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:47.467897068Z"}]},"request_id":"2d99051a-c291-4768-a149-61ad54f3424d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.308426} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"4a8f721530fca6acdf9a4187f7b7638e","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"4a8f721530fca6acdf9a4187f7b7638e"} gateway-1 | {"time_local":"02/Apr/2025:19:00:50 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887? HTTP/1.1","status": "200","body_bytes_sent":"1086","request_time":"0.084","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"4a8f721530fca6acdf9a4187f7b7638e"} device-1 | {"level":"info","message":"GET /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887? 200 49ms","method":"GET","requestID":"4a8f721530fca6acdf9a4187f7b7638e","responseTime":49,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887?"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242'","requestID":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242'","requestID":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 142ms","method":"POST","requestID":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471","responseTime":142,"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":"cb14f2f0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"e42c2f940ec0b87ac591fbad44672e60"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb335060-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":787,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.874327,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a2b123ea-e7a5-40df-b72f-041b956952cc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.435164} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cb335060-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","rebac_allow":false,"scope_allow":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":"cb335060-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb335060-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/signaling 200 49ms","method":"POST","requestID":"cb335060-0ff4-11f0-acd3-db29ca75a471","responseTime":49,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cb3ec210-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":788,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.7613,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:50Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"82b07ac0-78f3-4444-9098-2d0d404f749c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620450.485027} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cb3ec210-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cb3ec210-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cb3ec210-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/signaling 200 48ms","method":"POST","requestID":"cb3ec210-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/signaling"} device-1 | {"device":"853c5e7a-fca9-4ad3-853e-dc9a8e227887","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-local-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"3af536f9-9b70-4d5a-a091-c041a0d90242","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new have-remote-offer","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"3af536f9-9b70-4d5a-a091-c041a0d90242","statusDeviceA":"new","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged new new stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/3af536f9-9b70-4d5a-a091-c041a0d90242' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3af536f9-9b70-4d5a-a091-c041a0d90242","statusDeviceA":"connecting","statusDeviceB":"new"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"6b4880ba1e2a19fbeaf9b5258256de0d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"6b4880ba1e2a19fbeaf9b5258256de0d","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/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d"},{"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/853c5e7a-fca9-4ad3-853e-dc9a8e227887"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242"}}},"level":"info","message":"received a callback","requestID":"6b4880ba1e2a19fbeaf9b5258256de0d"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 9ms","method":"POST","requestID":"6b4880ba1e2a19fbeaf9b5258256de0d","responseTime":9,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.013","http_referrer":"","http_user_agent":"node-fetch","requestID":"6b4880ba1e2a19fbeaf9b5258256de0d"} device-1 | {"device":"853c5e7a-fca9-4ad3-853e-dc9a8e227887","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"853c5e7a-fca9-4ad3-853e-dc9a8e227887","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"853c5e7a-fca9-4ad3-853e-dc9a8e227887","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting checking stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"3af536f9-9b70-4d5a-a091-c041a0d90242","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"device":"4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"853c5e7a-fca9-4ad3-853e-dc9a8e227887","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connecting completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"853c5e7a-fca9-4ad3-853e-dc9a8e227887","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged connected completed stable","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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":"3af536f9-9b70-4d5a-a091-c041a0d90242","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/3af536f9-9b70-4d5a-a091-c041a0d90242' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3af536f9-9b70-4d5a-a091-c041a0d90242","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e2ddc62432c3cfcf9e28168292a57c4d","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"e2ddc62432c3cfcf9e28168292a57c4d","responseTime":25,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","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/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d"},{"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/853c5e7a-fca9-4ad3-853e-dc9a8e227887"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242"}}},"level":"info","message":"received a callback","requestID":"e2ddc62432c3cfcf9e28168292a57c4d"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"cc837710-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":789,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":2.682299,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3af536f9-9b70-4d5a-a091-c041a0d90242","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"97281640-2a71-40b4-a1b8-72ac01d02396","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620452.6137004} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cc837710-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 31ms","method":"POST","requestID":"cc837710-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"cc837710-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242 200 44ms","method":"GET","requestID":"cc837710-0ff4-11f0-acd3-db29ca75a471","responseTime":44,"status":200,"url":"/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Mn0.4IssVmW2p4h1pn-F9qMcBAn0l8q3wBqPEuo_Q1XzJDM","level":"info","message":"auth send jwt","requestID":"205483dc32bb71bd59416e821f0ec6b4"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"205483dc32bb71bd59416e821f0ec6b4","responseTime":28,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/3ba94664-6847-4994-803e-59255f156246","requestID":"205483dc32bb71bd59416e821f0ec6b4"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 101ms","method":"POST","requestID":"e2ddc62432c3cfcf9e28168292a57c4d","responseTime":101,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.131","http_referrer":"","http_user_agent":"node-fetch","requestID":"e2ddc62432c3cfcf9e28168292a57c4d"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc910ba0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":790,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.781457,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"205483dc32bb71bd59416e821f0ec6b4","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620452,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Mn0.4IssVmW2p4h1pn-F9qMcBAn0l8q3wBqPEuo_Q1XzJDM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"205483dc32bb71bd59416e821f0ec6b4","responseTime":6,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d2b047bf-b260-4687-81a2-36d52629614a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620452.7098489} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":791,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.899817,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cc910ba0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","rebac_allow":false,"scope_allow":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":"cc910ba0-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/3ba94664-6847-4994-803e-59255f156246","requestID":"205483dc32bb71bd59416e821f0ec6b4"} gateway-1 | {"time_local":"02/Apr/2025:19:00:52 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/3ba94664-6847-4994-803e-59255f156246 HTTP/1.1","status": "200","body_bytes_sent":"1292","request_time":"0.074","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"205483dc32bb71bd59416e821f0ec6b4"} experiment-1 | {"level":"info","message":"GET /experiments/3ba94664-6847-4994-803e-59255f156246 200 43ms","method":"GET","requestID":"205483dc32bb71bd59416e821f0ec6b4","responseTime":43,"status":200,"url":"/experiments/3ba94664-6847-4994-803e-59255f156246"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc910ba0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/signaling 200 46ms","method":"POST","requestID":"cc910ba0-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Mn0.4IssVmW2p4h1pn-F9qMcBAn0l8q3wBqPEuo_Q1XzJDM","level":"info","message":"auth send jwt","requestID":"a066f355e16ce48f0f7efc6fd0de73c3"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"a066f355e16ce48f0f7efc6fd0de73c3","responseTime":2,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cc983790-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/3ba94664-6847-4994-803e-59255f156246","requestID":"a066f355e16ce48f0f7efc6fd0de73c3"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":792,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.848004,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a066f355e16ce48f0f7efc6fd0de73c3","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620452,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Mn0.4IssVmW2p4h1pn-F9qMcBAn0l8q3wBqPEuo_Q1XzJDM"} authorization-1 | {"level":"info","message":"POST /authorize 200 34ms","method":"POST","requestID":"a066f355e16ce48f0f7efc6fd0de73c3","responseTime":34,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2d39caf1-5dfa-461c-9114-01f6f30482f4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620452.7862005} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":793,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":31.890306,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:52Z"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Attempting to finish experiment","requestID":"a066f355e16ce48f0f7efc6fd0de73c3"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cc983790-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"cc983790-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"cca026d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cc983790-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/signaling 200 56ms","method":"POST","requestID":"cc983790-0ff4-11f0-acd3-db29ca75a471","responseTime":56,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/signaling"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":794,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.946107,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:52Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cca026d0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620452,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Mn0.4IssVmW2p4h1pn-F9qMcBAn0l8q3wBqPEuo_Q1XzJDM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"cca026d0-0ff4-11f0-acd3-db29ca75a471","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3af536f9-9b70-4d5a-a091-c041a0d90242': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F3af536f9-9b70-4d5a-a091-c041a0d90242","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"8b39824f-fefe-4cd3-99dc-38c7c36dbe4c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620452.8519952} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ee932a22-d6bf-45d3-b934-5ebde9f29141","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620452.852843} device-1 | {"device":"853c5e7a-fca9-4ad3-853e-dc9a8e227887","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"cca026d0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/update"} device-1 | {"device":"4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"853c5e7a-fca9-4ad3-853e-dc9a8e227887","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"853c5e7a-fca9-4ad3-853e-dc9a8e227887","deviceName":"Python Device 2","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","pathname":"/builds/FakIA/fachgebiet-iks/goldi/goldi2/crosslab/clients/soa/python/src/crosslab/soa_client/connection_webrtc.py","processName":"MainProcess","threadName":"MainThread"}} device-1 | {"device":"4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","deviceName":"Python Device 1","labels":{"job":"remote_device"},"level":"info","message":"connectionstatechanged closed closed closed","origin":{"funcName":"connectionstatechanged","lineno":45,"name":"crosslab.soa_client.connection_webrtc","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/3af536f9-9b70-4d5a-a091-c041a0d90242' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"3af536f9-9b70-4d5a-a091-c041a0d90242","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"cf7b4d828310cbe8f5ebdba620017692","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"cf7b4d828310cbe8f5ebdba620017692","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/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d"},{"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/853c5e7a-fca9-4ad3-853e-dc9a8e227887"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242"}}},"level":"info","message":"received a callback","requestID":"cf7b4d828310cbe8f5ebdba620017692"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"07652b4855b59508068a8381900386f8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"07652b4855b59508068a8381900386f8","responseTime":1,"status":200,"url":"/auth"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[{"busId":"gpio1","direction":"out","interfaceId":1,"interfaceType":"gpio","signals":{"gpio":"gpio1"}},{"busId":"gpio2","direction":"out","interfaceId":2,"interfaceType":"gpio","signals":{"gpio":"gpio2"}}],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d"},{"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/853c5e7a-fca9-4ad3-853e-dc9a8e227887"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242"}}},"level":"info","message":"received a callback","requestID":"07652b4855b59508068a8381900386f8"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"cca026d0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242 204 154ms","method":"DELETE","requestID":"cca026d0-0ff4-11f0-acd3-db29ca75a471","responseTime":154,"status":204,"url":"/peerconnections/3af536f9-9b70-4d5a-a091-c041a0d90242"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/3ba94664-6847-4994-803e-59255f156246"},"level":"info","message":"Successfully finished experiment","requestID":"a066f355e16ce48f0f7efc6fd0de73c3"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ccc33f30-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:53Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"1754e80d-23e2-43de-8563-0dc1f8f8ce8e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.0348303} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":795,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.657366,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ccc33f30-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d","object_type":"device","rebac_allow":false,"scope_allow":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":"ccc33f30-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ccc33f30-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ba94664-6847-4994-803e-59255f156246': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F3ba94664-6847-4994-803e-59255f156246","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"8e65bb0a-7830-4dd9-849e-3e7db1f9c77f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.040828} device-1 | {"level":"info","message":"POST /devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/signaling 200 16ms","method":"POST","requestID":"ccc33f30-0ff4-11f0-acd3-db29ca75a471","responseTime":16,"status":200,"url":"/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"ccc5d740-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6c7c3836-fe36-4567-b064-8dce02acca72","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.0413117} authorization-1 | {"level":"info","message":"POST /relations/update 200 19ms","method":"POST","requestID":"a066f355e16ce48f0f7efc6fd0de73c3","responseTime":19,"status":200,"url":"/relations/update"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:53Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F853c5e7a-fca9-4ad3-853e-dc9a8e227887","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"5a3c7e5c-827d-4517-ada1-5afaf572a624","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.073539} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":796,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":27.304587,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:53Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ccc5d740-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887","object_type":"device","rebac_allow":false,"scope_allow":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":"ccc5d740-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"ccc5d740-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/signaling 200 42ms","method":"POST","requestID":"ccc5d740-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887/signaling"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/3ba94664-6847-4994-803e-59255f156246","requestID":"a066f355e16ce48f0f7efc6fd0de73c3"} gateway-1 | {"time_local":"02/Apr/2025:19:00:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/3ba94664-6847-4994-803e-59255f156246 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.450","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"a066f355e16ce48f0f7efc6fd0de73c3"} experiment-1 | {"level":"info","message":"DELETE /experiments/3ba94664-6847-4994-803e-59255f156246 204 443ms","method":"DELETE","requestID":"a066f355e16ce48f0f7efc6fd0de73c3","responseTime":443,"status":204,"url":"/experiments/3ba94664-6847-4994-803e-59255f156246"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 328ms","method":"POST","requestID":"cf7b4d828310cbe8f5ebdba620017692","responseTime":328,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 320ms","method":"POST","requestID":"07652b4855b59508068a8381900386f8","responseTime":320,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.331","http_referrer":"","http_user_agent":"node-fetch","requestID":"cf7b4d828310cbe8f5ebdba620017692"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.324","http_referrer":"","http_user_agent":"node-fetch","requestID":"07652b4855b59508068a8381900386f8"} gateway-1 | {"time_local":"02/Apr/2025:19:00:53 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2749","request_time":"3.791","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"c6abe48813a650d3be9c6ee0f00fd925"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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":"4.067","http_referrer":"","http_user_agent":"Python/3.10 aiohttp/3.11.16","requestID":"9e065a26bcba07dd01bf6d5710890e5d"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1M30.G9ICgytcsseajRS_VQFO-cFxeXQom6FuARqVr1ut7MY","level":"info","message":"auth send jwt","requestID":"7c004160a8d17a8d3ab4fa127250229c"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"7c004160a8d17a8d3ab4fa127250229c","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"7c004160a8d17a8d3ab4fa127250229c"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:53Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":797,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.883814,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7c004160a8d17a8d3ab4fa127250229c","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620453,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1M30.G9ICgytcsseajRS_VQFO-cFxeXQom6FuARqVr1ut7MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"7c004160a8d17a8d3ab4fa127250229c","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/853c5e7a-fca9-4ad3-853e-dc9a8e227887' closed"} device-1 | {"data":{"code":1006,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/4cb9f5f7-d164-4da3-ae6a-7c52bed3514d' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"79f8ff37-bc8b-4f8f-9273-8849b6e863e4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.324584} authorization-1 | {"level":"info","message":"POST /relations/query 200 13ms","method":"POST","requestID":"7c004160a8d17a8d3ab4fa127250229c","responseTime":13,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"43b26429-7b80-4af1-a4ac-885a60877d16","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.3643355} authorization-1 | {"level":"info","message":"POST /relations/update 200 34ms","method":"POST","requestID":"7c004160a8d17a8d3ab4fa127250229c","responseTime":34,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"88da9bd4-0ee0-41cc-8d19-fcfee252c5d0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.4107437} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f34ad08f-96f3-4b12-8364-46d211e000f2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.4120135} authorization-1 | {"level":"info","message":"POST /relations/update 200 48ms","method":"POST","requestID":"7c004160a8d17a8d3ab4fa127250229c","responseTime":48,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"7c004160a8d17a8d3ab4fa127250229c"} device-1 | {"level":"info","message":"POST /devices? 201 193ms","method":"POST","requestID":"7c004160a8d17a8d3ab4fa127250229c","responseTime":193,"status":201,"url":"/devices?"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:53.410709192Z"}]},"request_id":"090e5c67-0f28-49a5-8ef0-7f547021f1de","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.4180176} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"7c004160a8d17a8d3ab4fa127250229c","responseTime":5,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.203","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7c004160a8d17a8d3ab4fa127250229c"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1M30.G9ICgytcsseajRS_VQFO-cFxeXQom6FuARqVr1ut7MY","level":"info","message":"auth send jwt","requestID":"756564034adebcfdd85b7992953cbf41"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"756564034adebcfdd85b7992953cbf41","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"756564034adebcfdd85b7992953cbf41"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:53Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":798,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.871675,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:53Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"756564034adebcfdd85b7992953cbf41","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620453,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1M30.G9ICgytcsseajRS_VQFO-cFxeXQom6FuARqVr1ut7MY"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"756564034adebcfdd85b7992953cbf41","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"272d4c6a-3865-45cf-bb66-b2bf081d9cf5","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.508229} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"756564034adebcfdd85b7992953cbf41","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"ead7ff9a-ced7-4322-8974-030d5357120a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.5137346} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"756564034adebcfdd85b7992953cbf41","responseTime":13,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"c168cd77-4216-4cf8-bf3a-c24beb4d66e9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.5569305} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c2d52929-0505-4fff-8647-81ad100fb10b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.557901} authorization-1 | {"level":"info","message":"POST /relations/update 200 47ms","method":"POST","requestID":"756564034adebcfdd85b7992953cbf41","responseTime":47,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:53.556897440Z"}]},"request_id":"0013317f-8f53-4551-82a1-9f27834179c0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620453.5638626} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"756564034adebcfdd85b7992953cbf41"} device-1 | {"level":"info","message":"POST /devices? 201 139ms","method":"POST","requestID":"756564034adebcfdd85b7992953cbf41","responseTime":139,"status":201,"url":"/devices?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"756564034adebcfdd85b7992953cbf41","responseTime":7,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.145","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"756564034adebcfdd85b7992953cbf41"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"3ec14c99069c2bc3cc6bd03426e710c1","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"3ec14c99069c2bc3cc6bd03426e710c1","responseTime":1,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/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":"3ec14c99069c2bc3cc6bd03426e710c1"} device-1 | {"level":"info","message":"OPTIONS /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/websocket 200 1ms","method":"OPTIONS","requestID":"3ec14c99069c2bc3cc6bd03426e710c1","responseTime":1,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U","level":"info","message":"auth send jwt","requestID":"9dfa335fd9842ff2ac08f468a39f433f"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"9dfa335fd9842ff2ac08f468a39f433f","responseTime":3,"status":200,"url":"/auth"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"612d9df78b8dec45e976ef275f5520a8","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"612d9df78b8dec45e976ef275f5520a8","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"9dfa335fd9842ff2ac08f468a39f433f"} gateway-1 | {"time_local":"02/Apr/2025:19:00:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/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":"612d9df78b8dec45e976ef275f5520a8"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:56Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":799,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.866086,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:56Z"} device-1 | {"level":"info","message":"OPTIONS /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/websocket 200 2ms","method":"OPTIONS","requestID":"612d9df78b8dec45e976ef275f5520a8","responseTime":2,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/websocket"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"9dfa335fd9842ff2ac08f468a39f433f","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620456,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"9dfa335fd9842ff2ac08f468a39f433f","responseTime":3,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U","level":"info","message":"auth send jwt","requestID":"f4ed1f4b9d3aadad810b78c56651d2ad"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f4ed1f4b9d3aadad810b78c56651d2ad","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"f4ed1f4b9d3aadad810b78c56651d2ad"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:56Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":800,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.804884,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:56Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f4ed1f4b9d3aadad810b78c56651d2ad","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620456,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f4ed1f4b9d3aadad810b78c56651d2ad","responseTime":4,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:19:00:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.088","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"9dfa335fd9842ff2ac08f468a39f433f"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"9dfa335fd9842ff2ac08f468a39f433f"} device-1 | {"level":"info","message":"POST /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/websocket 200 83ms","method":"POST","requestID":"9dfa335fd9842ff2ac08f468a39f433f","responseTime":83,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/websocket"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"f4ed1f4b9d3aadad810b78c56651d2ad"} device-1 | {"level":"info","message":"POST /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/websocket 200 62ms","method":"POST","requestID":"f4ed1f4b9d3aadad810b78c56651d2ad","responseTime":62,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/websocket"} gateway-1 | {"time_local":"02/Apr/2025:19:00:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.067","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f4ed1f4b9d3aadad810b78c56651d2ad"} device-1 | {"level":"info","message":"device 'http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b' connected"} device-1 | {"level":"info","message":"device 'http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U","level":"info","message":"auth send jwt","requestID":"071326706d3a9531ec92f997aa73b046"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"071326706d3a9531ec92f997aa73b046","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"071326706d3a9531ec92f997aa73b046"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:56Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":801,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.802954,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"071326706d3a9531ec92f997aa73b046","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620456,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"071326706d3a9531ec92f997aa73b046","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:53.410709192Z"}]},"request_id":"7c9a496a-a260-4c10-aaf6-be9020b991a3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620456.8254073} authorization-1 | {"level":"info","message":"POST /relations/query 200 7ms","method":"POST","requestID":"071326706d3a9531ec92f997aa73b046","responseTime":7,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:19:00:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.049","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"071326706d3a9531ec92f997aa73b046"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"071326706d3a9531ec92f997aa73b046"} device-1 | {"level":"info","message":"GET /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb? 200 46ms","method":"GET","requestID":"071326706d3a9531ec92f997aa73b046","responseTime":46,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6c49e1bba74d070ff7a15f9e5b404332"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U","level":"info","message":"auth send jwt","requestID":"6c49e1bba74d070ff7a15f9e5b404332"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"6c49e1bba74d070ff7a15f9e5b404332","responseTime":3,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:56Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":802,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.79602,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:56Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6c49e1bba74d070ff7a15f9e5b404332","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620456,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"6c49e1bba74d070ff7a15f9e5b404332","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:53.556897440Z"}]},"request_id":"82feef47-f930-44e9-963e-00644883f5c2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620456.8737776} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6c49e1bba74d070ff7a15f9e5b404332","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"6c49e1bba74d070ff7a15f9e5b404332"} gateway-1 | {"time_local":"02/Apr/2025:19:00:56 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.047","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6c49e1bba74d070ff7a15f9e5b404332"} device-1 | {"level":"info","message":"GET /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b? 200 43ms","method":"GET","requestID":"6c49e1bba74d070ff7a15f9e5b404332","responseTime":43,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U","level":"info","message":"auth send jwt","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"d8ceed72c756b1546f93a1f00bdd3e23","responseTime":27,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:56Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":803,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":0.78692,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:56Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d8ceed72c756b1546f93a1f00bdd3e23","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620456,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"d8ceed72c756b1546f93a1f00bdd3e23","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Attempting to run experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Attempting to book experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Successfully booked experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf1e9450-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf1ebb60-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:56Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":804,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":25.08921,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":805,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.783465,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf1e9450-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620456,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"cf1e9450-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf1ebb60-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620456,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 29ms","method":"POST","requestID":"cf1ebb60-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:53.556897440Z"}]},"request_id":"ee20da1a-29f8-4a2f-b39b-180d8f1a47a2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.0172524} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:53.410709192Z"}]},"request_id":"0e52bdc7-db07-4a15-bdfa-f7d897f7714b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.0176032} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"cf1ebb60-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"cf1e9450-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf1ebb60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b? 200 42ms","method":"GET","requestID":"cf1ebb60-0ff4-11f0-acd3-db29ca75a471","responseTime":42,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf1e9450-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb? 200 77ms","method":"GET","requestID":"cf1e9450-0ff4-11f0-acd3-db29ca75a471","responseTime":77,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Setting up experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Successfully locked booking for experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Attempting to update booking for experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Successfully updated booking for experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Successfully set up experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf41acb0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"cf41fad0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf4221e0-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Successfully running experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Received request.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:34572","level":"info","msg":"Sent response.","req_id":806,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.865257,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":807,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.617685,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf41acb0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620456,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 38ms","method":"POST","requestID":"cf41acb0-0ff4-11f0-acd3-db29ca75a471","responseTime":38,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf41fad0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620456,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 39ms","method":"POST","requestID":"cf41fad0-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:53.556897440Z"}]},"request_id":"24bd70c4-5d57-4575-967d-d296aa11b756","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.2617452} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"cf41fad0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:53.410709192Z"}]},"request_id":"2f27ac0a-c90c-46f9-a693-83a1cd92e9fe","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.2669075} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf41fad0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b? 200 57ms","method":"GET","requestID":"cf41fad0-0ff4-11f0-acd3-db29ca75a471","responseTime":58,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 36ms","method":"POST","requestID":"cf41acb0-0ff4-11f0-acd3-db29ca75a471","responseTime":36,"status":200,"url":"/relations/query"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"394f63e8-6fac-48af-8788-1ec61fa339aa","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.301061} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":808,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":34.458987,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf4221e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 83ms","method":"POST","requestID":"cf4221e0-0ff4-11f0-acd3-db29ca75a471","responseTime":83,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a9e41da-eb5d-450d-bfdc-55001452c978#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a9e41da-eb5d-450d-bfdc-55001452c978","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"bc762947-a030-4717-a212-2c21b0b8a1ef","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.3057485} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6149295b-2c0e-46b6-b421-c3bd7b3947b9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.3062658} authorization-1 | {"level":"info","message":"POST /relations/update 200 52ms","method":"POST","requestID":"d8ceed72c756b1546f93a1f00bdd3e23","responseTime":52,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"level":"info","message":"POST /experiments? 201 429ms","method":"POST","requestID":"d8ceed72c756b1546f93a1f00bdd3e23","responseTime":429,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"807","request_time":"0.460","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1N30.nxVT90eOzdYC6uoNgTpPWDPA-QX1lSAyvDe7K4w3IJ0","level":"info","message":"auth send jwt","requestID":"6ad48d99baf794efbbca0351579a0236"} authentication-1 | {"level":"info","message":"GET /auth 200 10ms","method":"GET","requestID":"6ad48d99baf794efbbca0351579a0236","responseTime":10,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"6ad48d99baf794efbbca0351579a0236"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":809,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.890422,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6ad48d99baf794efbbca0351579a0236","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620457,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1N30.nxVT90eOzdYC6uoNgTpPWDPA-QX1lSAyvDe7K4w3IJ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"6ad48d99baf794efbbca0351579a0236","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:53.410709192Z"}]},"request_id":"21fef04b-0ccb-49c9-8d31-b6042c78661a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.4089003} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"cf41acb0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"6ad48d99baf794efbbca0351579a0236","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"GET /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb? 200 200ms","method":"GET","requestID":"cf41acb0-0ff4-11f0-acd3-db29ca75a471","responseTime":200,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf607f50-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf4221e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/signaling 200 227ms","method":"POST","requestID":"cf4221e0-0ff4-11f0-acd3-db29ca75a471","responseTime":227,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/signaling"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf64ec20-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b58608a6-96db-4bc1-b355-76a249936442","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.4440925} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":810,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.466561,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf607f50-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","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":"6ad48d99baf794efbbca0351579a0236"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"cf607f50-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} gateway-1 | {"time_local":"02/Apr/2025:19:00:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.097","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"6ad48d99baf794efbbca0351579a0236"} device-1 | {"level":"info","message":"GET /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb? 200 83ms","method":"GET","requestID":"6ad48d99baf794efbbca0351579a0236","responseTime":83,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1N30.nxVT90eOzdYC6uoNgTpPWDPA-QX1lSAyvDe7K4w3IJ0","level":"info","message":"auth send jwt","requestID":"2ef74610b44de39033091c67345a3fe8"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cb3ed148-7b7d-4847-ae90-d60b20e357c8","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.4509504} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":811,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":12.889543,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authentication-1 | {"level":"info","message":"GET /auth 200 7ms","method":"GET","requestID":"2ef74610b44de39033091c67345a3fe8","responseTime":7,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf607f50-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf64ec20-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 17ms","method":"POST","requestID":"cf64ec20-0ff4-11f0-acd3-db29ca75a471","responseTime":17,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"POST /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/signaling 200 48ms","method":"POST","requestID":"cf607f50-0ff4-11f0-acd3-db29ca75a471","responseTime":48,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf682070-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"2ef74610b44de39033091c67345a3fe8"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Received request.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:53326","level":"info","msg":"Sent response.","req_id":812,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.765914,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":813,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.663465,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d9754353-5338-4ab4-8924-324322ceea9c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.491799} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf682070-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","object_type":"device","rebac_allow":false,"scope_allow":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":"cf682070-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"2ef74610b44de39033091c67345a3fe8","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620457,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1N30.nxVT90eOzdYC6uoNgTpPWDPA-QX1lSAyvDe7K4w3IJ0"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"2ef74610b44de39033091c67345a3fe8","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf64ec20-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/signaling 200 56ms","method":"POST","requestID":"cf64ec20-0ff4-11f0-acd3-db29ca75a471","responseTime":56,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf682070-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/signaling 200 37ms","method":"POST","requestID":"cf682070-0ff4-11f0-acd3-db29ca75a471","responseTime":37,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Building connection plan","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"b5e37361-0aa5-4112-bc26-f5a96f520799"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"c1c2a820-e7d6-4e95-9567-3eb29b2210db"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"e946e93b-dc70-4e6d-b1e8-e62f934e13ae"}]},"level":"info","message":"Built pairwise service configurations","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"cf6e6200-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:53.556897440Z"}]},"request_id":"0a0fb165-95b3-405e-a5fc-b68e33a35213","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.5058174} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"2ef74610b44de39033091c67345a3fe8","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":814,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.856633,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf6e6200-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620456,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1Nn0.q6yLd5-5Gt--kvGQDtjAVi4mwGqIDgbtPXtiElkju-U"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"cf6e6200-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"2ef74610b44de39033091c67345a3fe8"} device-1 | {"level":"info","message":"GET /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b? 200 74ms","method":"GET","requestID":"2ef74610b44de39033091c67345a3fe8","responseTime":74,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:57 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.089","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"2ef74610b44de39033091c67345a3fe8"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"1b8ee815-ee27-4788-940a-9b7f4a38bdf0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.553418} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f7461970-7a45-4ff2-8b19-5c5d3cdf0b1c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.5539331} authorization-1 | {"level":"info","message":"POST /relations/update 200 10ms","method":"POST","requestID":"cf6e6200-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"cf6e6200-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"cf6e6200-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105'","requestID":"cf6e6200-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105'","requestID":"cf6e6200-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"cf6e6200-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 137ms","method":"POST","requestID":"cf6e6200-0ff4-11f0-acd3-db29ca75a471","responseTime":137,"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":"cf6e6200-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105","device":"8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","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/668f4915-a9a4-4a55-91db-be7db70cd105","device":"e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"creating connection","messageType":"command","services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}],"tiebreaker":false} device-1 | {"device":"8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"d8ceed72c756b1546f93a1f00bdd3e23"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cf9af040-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"ed8abca5-84a4-41bd-9ffc-49001781861e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.8005073} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":815,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":26.985712,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cf9af040-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","object_type":"device","rebac_allow":false,"scope_allow":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":"cf9af040-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cf9af040-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/signaling 200 39ms","method":"POST","requestID":"cf9af040-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"cfa10ac0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a6fc3ba8-cb89-4a16-8802-6f83ebef2c6c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620457.846578} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":816,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.936622,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:57Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"cfa10ac0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","object_type":"device","rebac_allow":false,"scope_allow":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":"cfa10ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"device":"e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"cfa10ac0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/signaling 200 46ms","method":"POST","requestID":"cfa10ac0-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 1232453120523518582 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:qu2C\r\na=ice-pwd:Qx2ZJ+QSIFMV8HfSfQcOYzBA\r\na=ice-options:trickle\r\na=fingerprint:sha-256 9F:3A:4E:AE:E1:B7:F4:8A:B9:22:22:A8:BF:13:DE:F3:27:15:03:EC:57:55:1B:77:BA:A5:D4:58:1B:1F:B3:9B\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} device-1 | {"content":{"sdp":"v=0\r\no=- 3458800773748403569 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:ZNF6\r\na=ice-pwd:pfrSQojbIb4v0Zirrahffry+\r\na=ice-options:trickle\r\na=fingerprint:sha-256 31:72:FA:34:73:37:DF:62:0D:07:45:26:7C:13:3A:45:45:31:7A:AA:2D:FC:75:6E:87:94:84:8F:20:69:31:B6\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1796690413 1 udp 2113937151 1febcaf2-3458-4e2b-a58d-ed889dc4070c.local 47465 typ host generation 0 ufrag ZNF6 network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","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/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb'"} device-1 | {"device":"8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"device":"e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} device-1 | {"content":{"candidate":"candidate:1147563893 1 udp 2113937151 ac5ebebf-7637-4095-ae49-6fedbf250567.local 50871 typ host generation 0 ufrag qu2C network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","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/668f4915-a9a4-4a55-91db-be7db70cd105' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"668f4915-a9a4-4a55-91db-be7db70cd105","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a3476b6928f0b1ad56217e346a5988b","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"9a3476b6928f0b1ad56217e346a5988b","responseTime":26,"status":200,"url":"/auth"} device-1 | {"device":"8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","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":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105"}}},"level":"info","message":"received a callback","requestID":"9a3476b6928f0b1ad56217e346a5988b"} device-1 | {"device":"e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","deviceName":"JS Device 1","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 52ms","method":"POST","requestID":"9a3476b6928f0b1ad56217e346a5988b","responseTime":52,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.085","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a3476b6928f0b1ad56217e346a5988b"} device-1 | {"data":{"peerconnection":"668f4915-a9a4-4a55-91db-be7db70cd105","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OH0.s1HxYw5-uQG8-YXrdsezty6nqdCycyziEw8fJnvn3vU","level":"info","message":"auth send jwt","requestID":"5bc642e729b5a5f400a065796ed9b434"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"5bc642e729b5a5f400a065796ed9b434","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","requestID":"5bc642e729b5a5f400a065796ed9b434"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":817,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.726802,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"5bc642e729b5a5f400a065796ed9b434","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620458,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OH0.s1HxYw5-uQG8-YXrdsezty6nqdCycyziEw8fJnvn3vU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"5bc642e729b5a5f400a065796ed9b434","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","requestID":"5bc642e729b5a5f400a065796ed9b434"} experiment-1 | {"level":"info","message":"GET /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978 200 40ms","method":"GET","requestID":"5bc642e729b5a5f400a065796ed9b434","responseTime":40,"status":200,"url":"/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"} device-1 | {"data":{"peerconnection":"668f4915-a9a4-4a55-91db-be7db70cd105","statusDeviceA":"connecting","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} gateway-1 | {"time_local":"02/Apr/2025:19:00:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978 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":"5bc642e729b5a5f400a065796ed9b434"} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"668f4915-a9a4-4a55-91db-be7db70cd105","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"eb0fb05637ab52e4048dc34d32fb6f1c","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"eb0fb05637ab52e4048dc34d32fb6f1c","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/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105"}}},"level":"info","message":"received a callback","requestID":"eb0fb05637ab52e4048dc34d32fb6f1c"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d0015330-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F668f4915-a9a4-4a55-91db-be7db70cd105","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"edfa2f96-6945-4082-aecd-ad4d764e9ae3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620458.496963} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":818,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":27.709781,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d0015330-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105","object_type":"peerconnection","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"d0015330-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d0015330-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OH0.s1HxYw5-uQG8-YXrdsezty6nqdCycyziEw8fJnvn3vU","level":"info","message":"auth send jwt","requestID":"7251faee7ef83181c28fa1e300ee0acf"} device-1 | {"level":"info","message":"GET /peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105 200 39ms","method":"GET","requestID":"d0015330-0ff4-11f0-acd3-db29ca75a471","responseTime":39,"status":200,"url":"/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105"} authentication-1 | {"level":"info","message":"GET /auth 200 35ms","method":"GET","requestID":"7251faee7ef83181c28fa1e300ee0acf","responseTime":35,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","requestID":"7251faee7ef83181c28fa1e300ee0acf"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":819,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.860137,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"7251faee7ef83181c28fa1e300ee0acf","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620458,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OH0.s1HxYw5-uQG8-YXrdsezty6nqdCycyziEw8fJnvn3vU"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"7251faee7ef83181c28fa1e300ee0acf","responseTime":4,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","requestID":"7251faee7ef83181c28fa1e300ee0acf"} experiment-1 | {"level":"info","message":"GET /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978 200 53ms","method":"GET","requestID":"7251faee7ef83181c28fa1e300ee0acf","responseTime":53,"status":200,"url":"/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"} gateway-1 | {"time_local":"02/Apr/2025:19:00:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978 HTTP/1.1","status": "200","body_bytes_sent":"878","request_time":"0.092","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"7251faee7ef83181c28fa1e300ee0acf"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 140ms","method":"POST","requestID":"eb0fb05637ab52e4048dc34d32fb6f1c","responseTime":140,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d01613b0-0ff4-11f0-acd3-db29ca75a471"} gateway-1 | {"time_local":"02/Apr/2025:19:00: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.144","http_referrer":"","http_user_agent":"node-fetch","requestID":"eb0fb05637ab52e4048dc34d32fb6f1c"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":820,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.889416,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"0e504f4d-96d7-407c-b686-7006a6f9228f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620458.6080334} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d01613b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","object_type":"device","rebac_allow":false,"scope_allow":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":"d01613b0-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d01613b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/signaling 200 10ms","method":"POST","requestID":"d01613b0-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0180f80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":821,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.868796,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b28c7c49-32f1-4675-b546-572bb4d21d4d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620458.6450903} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d0180f80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","object_type":"device","rebac_allow":false,"scope_allow":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":"d0180f80-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0180f80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/signaling 200 74ms","method":"POST","requestID":"d0180f80-0ff4-11f0-acd3-db29ca75a471","responseTime":74,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/signaling"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OH0.s1HxYw5-uQG8-YXrdsezty6nqdCycyziEw8fJnvn3vU","level":"info","message":"auth send jwt","requestID":"53a76bc3e56baae93cb1381852ca511a"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"53a76bc3e56baae93cb1381852ca511a","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","requestID":"53a76bc3e56baae93cb1381852ca511a"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":822,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.816823,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"53a76bc3e56baae93cb1381852ca511a","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620458,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OH0.s1HxYw5-uQG8-YXrdsezty6nqdCycyziEw8fJnvn3vU"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"53a76bc3e56baae93cb1381852ca511a","responseTime":6,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","requestID":"53a76bc3e56baae93cb1381852ca511a"} gateway-1 | {"time_local":"02/Apr/2025:19:00:58 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978 HTTP/1.1","status": "200","body_bytes_sent":"880","request_time":"0.023","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"53a76bc3e56baae93cb1381852ca511a"} experiment-1 | {"level":"info","message":"GET /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978 200 18ms","method":"GET","requestID":"53a76bc3e56baae93cb1381852ca511a","responseTime":18,"status":200,"url":"/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","requestID":"e7e3f7552531298867ff661496588af6"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OH0.s1HxYw5-uQG8-YXrdsezty6nqdCycyziEw8fJnvn3vU","level":"info","message":"auth send jwt","requestID":"e7e3f7552531298867ff661496588af6"} authentication-1 | {"level":"info","message":"GET /auth 200 2ms","method":"GET","requestID":"e7e3f7552531298867ff661496588af6","responseTime":2,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":823,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.893891,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"e7e3f7552531298867ff661496588af6","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620458,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OH0.s1HxYw5-uQG8-YXrdsezty6nqdCycyziEw8fJnvn3vU"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"e7e3f7552531298867ff661496588af6","responseTime":5,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Attempting to finish experiment","requestID":"e7e3f7552531298867ff661496588af6"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d0327550-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":824,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.751239,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:58Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d0327550-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620458,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OH0.s1HxYw5-uQG8-YXrdsezty6nqdCycyziEw8fJnvn3vU"} authorization-1 | {"level":"info","message":"POST /authorize 200 12ms","method":"POST","requestID":"d0327550-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105","device":"e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105","device":"8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} 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/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105"}}},"level":"info","message":"received a callback","requestID":"c6fbf806c46412041d4a99020206edfc"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c6fbf806c46412041d4a99020206edfc","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c6fbf806c46412041d4a99020206edfc","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F668f4915-a9a4-4a55-91db-be7db70cd105': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2F668f4915-a9a4-4a55-91db-be7db70cd105","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"3b36ea59-ef5a-4e4b-aff4-3d52293d302b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620458.8918006} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"9f984abc-a39a-43bd-9582-4e85ce1f44c4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620458.8926737} device-1 | {"level":"info","message":"Sending status-changed-callback for peerconnection 'http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"668f4915-a9a4-4a55-91db-be7db70cd105","statusDeviceA":"closed","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"c50478303edec2b2aa74e1aa78b6ce30","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"c50478303edec2b2aa74e1aa78b6ce30","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 18ms","method":"POST","requestID":"d0327550-0ff4-11f0-acd3-db29ca75a471","responseTime":18,"status":200,"url":"/relations/update"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-closed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105"}}},"level":"info","message":"received a callback","requestID":"c50478303edec2b2aa74e1aa78b6ce30"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d0327550-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105 204 152ms","method":"DELETE","requestID":"d0327550-0ff4-11f0-acd3-db29ca75a471","responseTime":152,"status":204,"url":"/peerconnections/668f4915-a9a4-4a55-91db-be7db70cd105"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b'"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"},"level":"info","message":"Successfully finished experiment","requestID":"e7e3f7552531298867ff661496588af6"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d05e4040-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":825,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.004753,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:59Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fe39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"d12f745f-631a-4c62-9da5-58e9d46fee04","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.0818853} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d05e4040-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb","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":"d05e4040-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/signaling 200 12ms","method":"POST","requestID":"d05e4040-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d0606320-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /authorize 200 13ms","method":"POST","requestID":"d05e4040-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":826,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.897652,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:59Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2a42c016-f11f-4cf5-a52f-1cba298ef31d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.095411} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d0606320-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b","object_type":"device","rebac_allow":false,"scope_allow":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":"d0606320-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d0606320-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/signaling 200 35ms","method":"POST","requestID":"d0606320-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a9e41da-eb5d-450d-bfdc-55001452c978': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2F0a9e41da-eb5d-450d-bfdc-55001452c978","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"5b80589d-9636-4b37-a360-549823ee42dd","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.1356373} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e4b1e53c-4bcb-44a8-8b0b-0631712765d9","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.1367228} authorization-1 | {"level":"info","message":"POST /relations/update 200 64ms","method":"POST","requestID":"e7e3f7552531298867ff661496588af6","responseTime":64,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978","requestID":"e7e3f7552531298867ff661496588af6"} gateway-1 | {"time_local":"02/Apr/2025:19:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978 HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.579","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"e7e3f7552531298867ff661496588af6"} experiment-1 | {"level":"info","message":"DELETE /experiments/0a9e41da-eb5d-450d-bfdc-55001452c978 204 577ms","method":"DELETE","requestID":"e7e3f7552531298867ff661496588af6","responseTime":577,"status":204,"url":"/experiments/0a9e41da-eb5d-450d-bfdc-55001452c978"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 424ms","method":"POST","requestID":"c6fbf806c46412041d4a99020206edfc","responseTime":424,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 391ms","method":"POST","requestID":"c50478303edec2b2aa74e1aa78b6ce30","responseTime":391,"status":200,"url":"/callbacks/experiment"} device-1 | {"level":"info","message":"postDevices called","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b"} gateway-1 | {"time_local":"02/Apr/2025:19:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.441","http_referrer":"","http_user_agent":"node-fetch","requestID":"c6fbf806c46412041d4a99020206edfc"} gateway-1 | {"time_local":"02/Apr/2025:19:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.437","http_referrer":"","http_user_agent":"node-fetch","requestID":"c50478303edec2b2aa74e1aa78b6ce30"} gateway-1 | {"time_local":"02/Apr/2025:19:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2339","request_time":"2.564","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"88542a04624f1c2d71b6c3d854ae8c12"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OX0.z0jy64Jz7biUKsO38S9pcunFbxnfTIOvqaiNjhuCt5Y","level":"info","message":"auth send jwt","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b","responseTime":3,"status":200,"url":"/auth"} gateway-1 | {"time_local":"02/Apr/2025:19:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2343","request_time":"2.650","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"70bc74357c3c0144fc973d07d5716e78"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":827,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":25.079955,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"b2c1040e695c04f3efb84a5b1fd0c27b","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620459,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OX0.z0jy64Jz7biUKsO38S9pcunFbxnfTIOvqaiNjhuCt5Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 46ms","method":"POST","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b","responseTime":46,"status":200,"url":"/authorize"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/8e8bab4e-4c89-4d1a-a678-3c20aeabc53b' closed"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/e39b4e09-adbd-4aa6-8ab5-893cbbc19dbb' 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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7c9f0dd-b137-4877-b7f8-040f5ea0fb17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"a9ff9d3b-6c77-4007-abd1-3de88d52bd15","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.4666653} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b","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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"2a43ce5e-d58d-408d-95ac-982de28e0249","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.4751167} authorization-1 | {"level":"info","message":"POST /relations/update 200 6ms","method":"POST","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b","responseTime":6,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7c9f0dd-b137-4877-b7f8-040f5ea0fb17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"a4a44112-f921-4d96-9bd0-560d415e5bff","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.5134614} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"22e20fcc-ad4e-4840-9653-6d9a092e4bad","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.5144324} authorization-1 | {"level":"info","message":"POST /relations/update 200 44ms","method":"POST","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7c9f0dd-b137-4877-b7f8-040f5ea0fb17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7c9f0dd-b137-4877-b7f8-040f5ea0fb17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:59.513427220Z"}]},"request_id":"685341f0-9bb4-4391-88c2-72387bb17d3a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.523246} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b"} device-1 | {"level":"info","message":"POST /devices? 201 160ms","method":"POST","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b","responseTime":160,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"315","request_time":"0.192","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b"} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"b2c1040e695c04f3efb84a5b1fd0c27b","responseTime":5,"status":200,"url":"/relations/query"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OX0.z0jy64Jz7biUKsO38S9pcunFbxnfTIOvqaiNjhuCt5Y","level":"info","message":"auth send jwt","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e"} authentication-1 | {"level":"info","message":"GET /auth 200 27ms","method":"GET","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e","responseTime":27,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevices called","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:00:59Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":828,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":599,"resp_duration":0.770892,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:00:59Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"device:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"eb55fda0791ea1ff8bb0e01c2d66305e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:~~~TYPE~~~","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620459,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ1OX0.z0jy64Jz7biUKsO38S9pcunFbxnfTIOvqaiNjhuCt5Y"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[]},"request_id":"c10e2262-c2d8-4afc-8091-3cfbe6219238","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.6112852} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e","responseTime":3,"status":200,"url":"/relations/query"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"65cc2607-25dc-4653-a20d-e2d5deed098e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.6166246} authorization-1 | {"level":"info","message":"POST /relations/update 200 4ms","method":"POST","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e","responseTime":4,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"3a18a2b3-e62a-4941-8305-ebaf11d5805f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.6674542} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"a7528e30-08c7-47df-beb6-5f5271f82125","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.6684487} authorization-1 | {"level":"info","message":"POST /relations/update 200 51ms","method":"POST","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e","responseTime":51,"status":200,"url":"/relations/update"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:59.667420995Z"}]},"request_id":"b51a2633-f7fd-4e1b-9b88-aa225b0a31a7","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620459.6975691} device-1 | {"level":"info","message":"postDevices succeeded","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e"} device-1 | {"level":"info","message":"POST /devices? 201 144ms","method":"POST","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e","responseTime":144,"status":201,"url":"/devices?"} gateway-1 | {"time_local":"02/Apr/2025:19:00:59 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices? HTTP/1.1","status": "201","body_bytes_sent":"308","request_time":"0.173","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e"} authorization-1 | {"level":"info","message":"POST /relations/query 200 29ms","method":"POST","requestID":"eb55fda0791ea1ff8bb0e01c2d66305e","responseTime":29,"status":200,"url":"/relations/query"} gateway-1 | {"time_local":"02/Apr/2025:19:01:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/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":"e089a3b84ef9ecc9b0d7ceb70d0b2916"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"e089a3b84ef9ecc9b0d7ceb70d0b2916","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"e089a3b84ef9ecc9b0d7ceb70d0b2916","responseTime":1,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/websocket 200 1ms","method":"OPTIONS","requestID":"e089a3b84ef9ecc9b0d7ceb70d0b2916","responseTime":1,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/websocket"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM","level":"info","message":"auth send jwt","requestID":"99d2eadf963a5a76f3b03405b25f37a9"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"99d2eadf963a5a76f3b03405b25f37a9","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"99d2eadf963a5a76f3b03405b25f37a9"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:02Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":829,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.826146,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:02Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"99d2eadf963a5a76f3b03405b25f37a9","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"99d2eadf963a5a76f3b03405b25f37a9","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"99d2eadf963a5a76f3b03405b25f37a9"} device-1 | {"level":"info","message":"POST /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/websocket 200 95ms","method":"POST","requestID":"99d2eadf963a5a76f3b03405b25f37a9","responseTime":95,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/websocket"} gateway-1 | {"time_local":"02/Apr/2025:19:01:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.099","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"99d2eadf963a5a76f3b03405b25f37a9"} device-1 | {"level":"info","message":"device 'http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b' connected"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM","level":"info","message":"auth send jwt","requestID":"a83a90626b3aae6fd1cceadd1e0cad46"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"a83a90626b3aae6fd1cceadd1e0cad46","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"a83a90626b3aae6fd1cceadd1e0cad46"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:02Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":830,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.862178,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:02Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"a83a90626b3aae6fd1cceadd1e0cad46","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"a83a90626b3aae6fd1cceadd1e0cad46","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:59.667420995Z"}]},"request_id":"3ec8fa33-6366-453f-87d0-6c57291a0e5f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620462.961321} authorization-1 | {"level":"info","message":"POST /relations/query 200 27ms","method":"POST","requestID":"a83a90626b3aae6fd1cceadd1e0cad46","responseTime":27,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"a83a90626b3aae6fd1cceadd1e0cad46"} device-1 | {"level":"info","message":"GET /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b? 200 38ms","method":"GET","requestID":"a83a90626b3aae6fd1cceadd1e0cad46","responseTime":38,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b?"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM","level":"info","message":"auth send jwt","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"level":"info","message":"Handling POST request on endpoint /experiments","requestID":"ffecebe6ea204a213246fb606caf0e9e"} gateway-1 | {"time_local":"02/Apr/2025:19:01:02 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b? 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":"a83a90626b3aae6fd1cceadd1e0cad46"} authentication-1 | {"level":"info","message":"GET /auth 200 5ms","method":"GET","requestID":"ffecebe6ea204a213246fb606caf0e9e","responseTime":5,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:02Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":831,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":607,"resp_duration":2.261069,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:02Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"experiment:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"ffecebe6ea204a213246fb606caf0e9e","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:~~~TYPE~~~","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 10ms","method":"POST","requestID":"ffecebe6ea204a213246fb606caf0e9e","responseTime":10,"status":200,"url":"/authorize"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Attempting to run experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Attempting to book experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Successfully booked experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2ddbf30-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d2dde640-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":832,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.79443,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7c9f0dd-b137-4877-b7f8-040f5ea0fb17","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d2ddbf30-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/d7c9f0dd-b137-4877-b7f8-040f5ea0fb17","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"d2ddbf30-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d2dde640-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 30ms","method":"POST","requestID":"d2dde640-0ff4-11f0-acd3-db29ca75a471","responseTime":30,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54274","level":"info","msg":"Received request.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:54274","level":"info","msg":"Sent response.","req_id":833,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.947042,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:59.667420995Z"}]},"request_id":"5397be6b-fd19-4aaf-a158-53a49239996f","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620463.3049378} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7c9f0dd-b137-4877-b7f8-040f5ea0fb17","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2Fd7c9f0dd-b137-4877-b7f8-040f5ea0fb17","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:59.513427220Z"}]},"request_id":"150a9772-a64d-440b-ac33-0e1c84318c83","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620463.3069084} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d2dde640-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d2ddbf30-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2dde640-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b? 200 51ms","method":"GET","requestID":"d2dde640-0ff4-11f0-acd3-db29ca75a471","responseTime":51,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d2ddbf30-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/d7c9f0dd-b137-4877-b7f8-040f5ea0fb17? 200 53ms","method":"GET","requestID":"d2ddbf30-0ff4-11f0-acd3-db29ca75a471","responseTime":53,"status":200,"url":"/devices/d7c9f0dd-b137-4877-b7f8-040f5ea0fb17?"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Setting up experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Attempting to lock booking for experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Successfully locked booking for experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Attempting to instantiate devices for experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} device-1 | {"level":"info","message":"postDevicesByDeviceId called","requestID":"d2f98490-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54274","level":"info","msg":"Received request.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:54274","level":"info","msg":"Sent response.","req_id":834,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.982989,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"action":"instantiate","level":"info","message":"opa_check","object":"device:http://localhost/devices/d7c9f0dd-b137-4877-b7f8-040f5ea0fb17","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d2f98490-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/d7c9f0dd-b137-4877-b7f8-040f5ea0fb17","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 7ms","method":"POST","requestID":"d2f98490-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"0fb3ffcd-7790-4fcb-bee1-1faab913fcfb","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620463.5062757} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"de3d6ab6-2a60-4018-80ff-5f28f5b245d0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620463.507183} authorization-1 | {"level":"info","message":"POST /relations/update 200 13ms","method":"POST","requestID":"d2f98490-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"registering changed-callback for device 'http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47' to 'http://localhost/callbacks/experiment'","requestID":"d2f98490-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postDevicesByDeviceId succeeded","requestID":"d2f98490-0ff4-11f0-acd3-db29ca75a471"} authentication-1 | {"level":"info","message":"POST /token 201 19ms","method":"POST","requestID":"d3076740-0ff4-11f0-a704-b5a756a5aa98","responseTime":19,"status":201,"url":"/token"} device-1 | {"level":"info","message":"POST /devices/d7c9f0dd-b137-4877-b7f8-040f5ea0fb17?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 140ms","method":"POST","requestID":"d2f98490-0ff4-11f0-acd3-db29ca75a471","responseTime":140,"status":201,"url":"/devices/d7c9f0dd-b137-4877-b7f8-040f5ea0fb17?changedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Successfully instantiated devices for experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Attempting to update booking for experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Successfully updated booking for experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Successfully set up experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d31ceb10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d31d1220-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Successfully running experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} authorization-1 | {"client_addr":"127.0.0.1:54274","level":"info","msg":"Received request.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:03Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d31dfc80-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54274","level":"info","msg":"Sent response.","req_id":835,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.90609,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d31ceb10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 9ms","method":"POST","requestID":"d31ceb10-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54274","level":"info","msg":"Received request.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:54274","level":"info","msg":"Sent response.","req_id":836,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.78081,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":837,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.560707,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d31d1220-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"d31d1220-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"705acc72-97a6-4155-8b2b-140657a760e6","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620463.6996515} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d31dfc80-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 35ms","method":"POST","requestID":"d31dfc80-0ff4-11f0-acd3-db29ca75a471","responseTime":35,"status":200,"url":"/authorize"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:01:03.506243094Z"}]},"request_id":"836cab1a-eb90-438b-b261-966e6d23028e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620463.7331126} device-1 | {"data":{"error":"MissingEntityError","message":"Could not find websocket connection for device 25cbe32d-5978-43c0-a586-5cef91f34e47","method":"POST","stack":"MissingEntityError: Could not find websocket connection for device 25cbe32d-5978-43c0-a586-5cef91f34e47\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/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"d31dfc80-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling 404 49ms","method":"POST","requestID":"d31dfc80-0ff4-11f0-acd3-db29ca75a471","responseTime":49,"status":404,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling"} experiment-1 | {"data":{"response":{"body":{"error":"MissingEntityError","message":"Could not find websocket connection for device 25cbe32d-5978-43c0-a586-5cef91f34e47"},"status":404}},"level":"error","message":"Could not send status-update message","requestID":"ffecebe6ea204a213246fb606caf0e9e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d325c4b0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"level":"info","message":"POST /relations/query 200 14ms","method":"POST","requestID":"d31ceb10-0ff4-11f0-acd3-db29ca75a471","responseTime":14,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d31ceb10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/25cbe32d-5978-43c0-a586-5cef91f34e47? 200 67ms","method":"GET","requestID":"d31ceb10-0ff4-11f0-acd3-db29ca75a471","responseTime":67,"status":200,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47?"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2000) desc = Invalid tuple 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc65e5883-3b29-4b6d-a0a0-443a5bd57d3b#owner@http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc65e5883-3b29-4b6d-a0a0-443a5bd57d3b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"2d90d0d7-e2b5-4d20-95af-78610a552cd0","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620463.7363865} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"f6aadc20-042f-4d95-8e31-5c2f7c606b1b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620463.7432327} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Read","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:59.667420995Z"}]},"request_id":"f47aea4b-b113-4015-99c9-717217e7d4ba","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620463.7475252} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"d31d1220-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d31d1220-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b? 200 96ms","method":"GET","requestID":"d31d1220-0ff4-11f0-acd3-db29ca75a471","responseTime":96,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b?"} authorization-1 | {"level":"info","message":"POST /relations/update 200 93ms","method":"POST","requestID":"ffecebe6ea204a213246fb606caf0e9e","responseTime":93,"status":200,"url":"/relations/update"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"a3b44cb5-f6e0-4844-9bde-aef8bb7d439b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620463.779334} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":838,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.198542,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:03Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d325c4b0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","rebac_allow":false,"scope_allow":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":"d325c4b0-0ff4-11f0-acd3-db29ca75a471","responseTime":31,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d325c4b0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/signaling 200 46ms","method":"POST","requestID":"d325c4b0-0ff4-11f0-acd3-db29ca75a471","responseTime":46,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/signaling"} experiment-1 | {"data":{"experiment":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b","user":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"level":"info","message":"Successfully handled POST request on endpoint /experiments","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"level":"info","message":"POST /experiments? 201 823ms","method":"POST","requestID":"ffecebe6ea204a213246fb606caf0e9e","responseTime":823,"status":201,"url":"/experiments?"} gateway-1 | {"time_local":"02/Apr/2025:19:01:03 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /experiments? HTTP/1.1","status": "201","body_bytes_sent":"1107","request_time":"0.828","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"ffecebe6ea204a213246fb606caf0e9e"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"04f7d0072b6a2f1d96138eacd36bc5aa","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/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":"04f7d0072b6a2f1d96138eacd36bc5aa","responseTime":0,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"OPTIONS /devices/25cbe32d-5978-43c0-a586-5cef91f34e47/websocket 200 1ms","method":"OPTIONS","requestID":"04f7d0072b6a2f1d96138eacd36bc5aa","responseTime":1,"status":200,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47/websocket"} gateway-1 | {"time_local":"02/Apr/2025:19:01:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"OPTIONS /devices/25cbe32d-5978-43c0-a586-5cef91f34e47/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":"04f7d0072b6a2f1d96138eacd36bc5aa"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket called","requestID":"6b253f467947c24d7729f910527eab77"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6ImFPcHlVTU5NaDB2bUhTaHdSUktMMlhvX0RxdUFTZDJmQy1zclBWOGRySW5hODl5c3FXWkRwY0g2QUgxakVFZlYwU1Y2ZldkNDFiLXFJaUw3U0ppS1B3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Nn0.JEso6kt-s8Vfyg0BV9H_rMXWTxg-EcruQWdmovuwDi8","level":"info","message":"auth send jwt","requestID":"6b253f467947c24d7729f910527eab77"} authentication-1 | {"level":"info","message":"GET /auth 200 4ms","method":"GET","requestID":"6b253f467947c24d7729f910527eab77","responseTime":4,"status":200,"url":"/auth"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:06Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":839,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.756391,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:06Z"} authorization-1 | {"action":"edit","level":"info","message":"opa_check","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"6b253f467947c24d7729f910527eab77","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","object_type":"device","payload":{"admin":true,"edgeToken":"aOpyUMNMh0vmHShwRRKL2Xo_DquASd2fC-srPV8drIna89ysqWZDpcH6AH1jEEfV0SV6fWd41b-qIiL7SJiKPw","iat":1743620466,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6ImFPcHlVTU5NaDB2bUhTaHdSUktMMlhvX0RxdUFTZDJmQy1zclBWOGRySW5hODl5c3FXWkRwY0g2QUgxakVFZlYwU1Y2ZldkNDFiLXFJaUw3U0ppS1B3IiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Nn0.JEso6kt-s8Vfyg0BV9H_rMXWTxg-EcruQWdmovuwDi8"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"6b253f467947c24d7729f910527eab77","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdWebsocket succeeded","requestID":"6b253f467947c24d7729f910527eab77"} gateway-1 | {"time_local":"02/Apr/2025:19:01:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /devices/25cbe32d-5978-43c0-a586-5cef91f34e47/websocket HTTP/1.1","status": "200","body_bytes_sent":"38","request_time":"0.089","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"6b253f467947c24d7729f910527eab77"} device-1 | {"level":"info","message":"POST /devices/25cbe32d-5978-43c0-a586-5cef91f34e47/websocket 200 84ms","method":"POST","requestID":"6b253f467947c24d7729f910527eab77","responseTime":84,"status":200,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47/websocket"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"device 'http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47' connected"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"1dc87f1a5f972074f3efb06c0f51d193","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 25ms","method":"GET","requestID":"1dc87f1a5f972074f3efb06c0f51d193","responseTime":25,"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/25cbe32d-5978-43c0-a586-5cef91f34e47"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"1dc87f1a5f972074f3efb06c0f51d193"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Nn0.AFy_vUq2CiBuPjAI6xdGVn9dWeFXSzd9Wdvlu2vFzO0","level":"info","message":"auth send jwt","requestID":"fb1ff9be0345edf051dda208e02c4a36"} authentication-1 | {"level":"info","message":"GET /auth 200 16ms","method":"GET","requestID":"fb1ff9be0345edf051dda208e02c4a36","responseTime":16,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 15ms","method":"POST","requestID":"1dc87f1a5f972074f3efb06c0f51d193","responseTime":15,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:01:06 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "200","body_bytes_sent":"5","request_time":"0.046","http_referrer":"","http_user_agent":"node-fetch","requestID":"1dc87f1a5f972074f3efb06c0f51d193"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"fb1ff9be0345edf051dda208e02c4a36"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:06Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":840,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.784134,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:06Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"fb1ff9be0345edf051dda208e02c4a36","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620466,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Nn0.AFy_vUq2CiBuPjAI6xdGVn9dWeFXSzd9Wdvlu2vFzO0"} authorization-1 | {"level":"info","message":"POST /authorize 200 28ms","method":"POST","requestID":"fb1ff9be0345edf051dda208e02c4a36","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:01:03.506243094Z"}]},"request_id":"a825533c-6632-47b7-90ce-5c8cf867ede2","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620467.0012746} authorization-1 | {"level":"info","message":"POST /relations/query 200 5ms","method":"POST","requestID":"fb1ff9be0345edf051dda208e02c4a36","responseTime":5,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"fb1ff9be0345edf051dda208e02c4a36"} device-1 | {"level":"info","message":"GET /devices/25cbe32d-5978-43c0-a586-5cef91f34e47? 200 45ms","method":"GET","requestID":"fb1ff9be0345edf051dda208e02c4a36","responseTime":45,"status":200,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47?"} gateway-1 | {"time_local":"02/Apr/2025:19:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/25cbe32d-5978-43c0-a586-5cef91f34e47? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.090","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"fb1ff9be0345edf051dda208e02c4a36"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2N30.1XZzVXoCbNY11CwcaKMozeq-TLqHphB0TzdbKXvpWmo","level":"info","message":"auth send jwt","requestID":"217f5f6e93794257d9a1c44c6ef11823"} authentication-1 | {"level":"info","message":"GET /auth 200 28ms","method":"GET","requestID":"217f5f6e93794257d9a1c44c6ef11823","responseTime":28,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"217f5f6e93794257d9a1c44c6ef11823"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:07Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":841,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":1.007696,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:07Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"217f5f6e93794257d9a1c44c6ef11823","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620467,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2N30.1XZzVXoCbNY11CwcaKMozeq-TLqHphB0TzdbKXvpWmo"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"217f5f6e93794257d9a1c44c6ef11823","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:59.667420995Z"}]},"request_id":"536156ee-fccb-4375-a887-f6fadf85d6ac","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620467.051921} authorization-1 | {"level":"info","message":"POST /relations/query 200 4ms","method":"POST","requestID":"217f5f6e93794257d9a1c44c6ef11823","responseTime":4,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"217f5f6e93794257d9a1c44c6ef11823"} gateway-1 | {"time_local":"02/Apr/2025:19:01:07 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b? HTTP/1.1","status": "200","body_bytes_sent":"307","request_time":"0.044","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"217f5f6e93794257d9a1c44c6ef11823"} device-1 | {"level":"info","message":"GET /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b? 200 14ms","method":"GET","requestID":"217f5f6e93794257d9a1c44c6ef11823","responseTime":14,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b?"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d62744e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"getDevicesByDeviceId called","requestID":"d6276bf0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Received request.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:08Z"} authorization-1 | {"client_addr":"127.0.0.1:47662","level":"info","msg":"Sent response.","req_id":842,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.643608,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d62744e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d62744e0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:08Z"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":843,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.999587,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:08Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d6276bf0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d6276bf0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:01:03.506243094Z"}]},"request_id":"ecfd211a-27e8-4225-9136-dc3b7a84b7ab","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620468.7899947} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d62744e0-0ff4-11f0-acd3-db29ca75a471","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:43938","raw_request":{"continuation_token":"","page_size":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"","user":""}},"raw_response":{"continuation_token":"","tuples":[{"key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"owner","user":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"},"timestamp":"2025-04-02T19:00:59.667420995Z"}]},"request_id":"f1a049cc-55ef-40da-b3c7-b3f1839d4d6e","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620468.7932715} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d62744e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/25cbe32d-5978-43c0-a586-5cef91f34e47? 200 12ms","method":"GET","requestID":"d62744e0-0ff4-11f0-acd3-db29ca75a471","responseTime":12,"status":200,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47?"} authorization-1 | {"level":"info","message":"POST /relations/query 200 3ms","method":"POST","requestID":"d6276bf0-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/relations/query"} device-1 | {"level":"info","message":"getDevicesByDeviceId succeeded","requestID":"d6276bf0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b? 200 13ms","method":"GET","requestID":"d6276bf0-0ff4-11f0-acd3-db29ca75a471","responseTime":13,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b?"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d62d5f60-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:08Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"7781327f-2f94-4ee8-8854-467c6bb3069c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620468.826768} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":844,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.943521,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d62d5f60-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d62d5f60-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d62d5f60-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling 200 9ms","method":"POST","requestID":"d62d5f60-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d62f0d10-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:08Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"cf0c1300-aef7-402b-afa9-b2bcd01db50c","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620468.837363} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":845,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.548202,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:08Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d62f0d10-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d62f0d10-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d62f0d10-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/signaling 200 33ms","method":"POST","requestID":"d62f0d10-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/signaling"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Attempting to create peerconnections for experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Building connection plan","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"pairwiseServiceConfigurations":[{"configuration":{},"participants":[{"config":{"interfaces":[]},"role":"device1","serviceId":"electrical","uuid":"976ab6c5-dc79-4830-903a-bb4779eadec4"},{"config":{"interfaces":[]},"role":"device2","serviceId":"electrical","uuid":"f8239eda-962a-4e7d-b75e-c2866dcd36e7"}],"serviceType":"http://api.goldi-labs.de/serviceTypes/electrical","uuid":"91aa4682-b1a9-41a1-8c09-15fd9c320228"}]},"level":"info","message":"Built pairwise service configurations","requestID":"ffecebe6ea204a213246fb606caf0e9e"} experiment-1 | {"data":{"connectionPlan":[{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"url":"http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47"}],"type":"webrtc"}]},"level":"info","message":"Built connection plan","requestID":"ffecebe6ea204a213246fb606caf0e9e"} device-1 | {"level":"info","message":"postPeerconnections called","requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:08Z"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":846,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":615,"resp_duration":0.644973,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:08Z"} authorization-1 | {"action":"create","level":"info","message":"opa_check","object":"peerconnection:~~~TYPE~~~","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:~~~TYPE~~~","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620462,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2Mn0.r7SvsFI8Qs8k9BeRl5ZmBRX6h2nS3okbjYraK0vy0lM"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","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%2F699582e5-7b1b-4f95-929a-af0d138717a0'. Reason: the 'user' field must be an object (e.g. document:1) or an 'object#relation' or a typed wildcard (e.g. group:*)","grpc_code":2000,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fundefined","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]}},"raw_response":{},"request_id":"afe4c472-a927-4cd6-a067-e1385f66a1d3","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620468.8799593} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"6779ff10-3b4f-4179-a408-60247a367473","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620468.8803136} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"postPeerconnections: registering closed-callback for 'http://localhost/callbacks/experiment'","requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections: registering status-changed-callback for 'http://localhost/callbacks/experiment'","requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Trying to create signaling queues for peerconnection 'http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a'","requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"Successfully created signaling queues for peerconnection 'http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a'","requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"postPeerconnections succeeded","requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment 201 57ms","method":"POST","requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471","responseTime":57,"status":201,"url":"/peerconnections?closedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment&statusChangedUrl=http%3A%2F%2Flocalhost%2Fcallbacks%2Fexperiment"} device-1 | {"level":"info","message":"deviceAHasVideo: false, deviceBHasVideo: false","requestID":"d6346440-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a","device":"25cbe32d-5978-43c0-a586-5cef91f34e47","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} device-1 | {"command":"createPeerconnection","config":{"iceServers":[]},"connectionType":"webrtc","connectionUrl":"http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a","device":"315e0f31-b802-4d4e-894f-7e4862eb0b5b","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/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Successfully created peerconnections for experiment","requestID":"ffecebe6ea204a213246fb606caf0e9e"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d649e810-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"device":"315e0f31-b802-4d4e-894f-7e4862eb0b5b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} device-1 | {"content":{"canTrickle":true},"device":"315e0f31-b802-4d4e-894f-7e4862eb0b5b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"3a72440b-5f20-4633-ba81-89297202bf6b","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.0138955} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":847,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.141779,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d649e810-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d649e810-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} device-1 | {"device":"25cbe32d-5978-43c0-a586-5cef91f34e47","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"webrtc connect"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} device-1 | {"content":{"canTrickle":true},"device":"25cbe32d-5978-43c0-a586-5cef91f34e47","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"options"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d649e810-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling 200 10ms","method":"POST","requestID":"d649e810-0ff4-11f0-acd3-db29ca75a471","responseTime":10,"status":200,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d64be3e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"content":{"sdp":"v=0\r\no=- 5475661589070363411 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:FELc\r\na=ice-pwd:oNh1isAG2LsHlYeNg91wwDLI\r\na=ice-options:trickle\r\na=fingerprint:sha-256 C5:FF:51:DE:44:AF:E1:2E:2E:E0:75:93:AE:95:7E:DF:DA:60:3B:40:0E:8E:4F:F6:62:86:8B:E4:B9:C6:DE:B1\r\na=setup:actpass\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"offer"},"device":"25cbe32d-5978-43c0-a586-5cef91f34e47","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"offer"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"fdb45e08-d440-4ab0-bd42-155c78ad37d4","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.0265186} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":848,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.607448,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d64be3e0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d64be3e0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d64be3e0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/signaling 200 9ms","method":"POST","requestID":"d64be3e0-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/signaling"} device-1 | {"content":{"sdp":"v=0\r\no=- 1532245435680456557 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:4bva\r\na=ice-pwd:spM5r3xmuUkX+o432MrwCcFR\r\na=ice-options:trickle\r\na=fingerprint:sha-256 CC:57:D3:DC:EF:B3:D3:5F:36:71:DE:E5:03:63:09:77:28:55:D0:D4:60:1E:80:50:99:A3:C4:5B:63:D3:F4:CF\r\na=setup:active\r\na=mid:0\r\na=sctp-port:5000\r\na=max-message-size:262144\r\n","type":"answer"},"device":"315e0f31-b802-4d4e-894f-7e4862eb0b5b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"answer"} device-1 | {"content":{"candidate":"candidate:1429017896 1 udp 2113937151 6e397219-bbdd-4477-9ad4-9fef15353584.local 56090 typ host generation 0 ufrag 4bva network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"315e0f31-b802-4d4e-894f-7e4862eb0b5b","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/315e0f31-b802-4d4e-894f-7e4862eb0b5b'"} device-1 | {"content":{"candidate":"candidate:600772894 1 udp 2113937151 f27c8812-fe88-4125-93e4-59311ef5bee2.local 41844 typ host generation 0 ufrag FELc network-cost 999","sdpMLineIndex":0,"sdpMid":"0"},"device":"25cbe32d-5978-43c0-a586-5cef91f34e47","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"sending:","signalingType":"candidate"} device-1 | {"device":"25cbe32d-5978-43c0-a586-5cef91f34e47","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/b92673a3-627f-43b4-b58f-7c723c4b087a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b92673a3-627f-43b4-b58f-7c723c4b087a","statusDeviceA":"new","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"91269faf9a2aa25eaec758f251c24aa7","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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":"25cbe32d-5978-43c0-a586-5cef91f34e47","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"91269faf9a2aa25eaec758f251c24aa7","responseTime":1,"status":200,"url":"/auth"} device-1 | {"device":"315e0f31-b802-4d4e-894f-7e4862eb0b5b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connecting"} device-1 | {"device":"315e0f31-b802-4d4e-894f-7e4862eb0b5b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"IceGatheringComplete"} experiment-1 | {"data":{"callback":{"callbackType":"event","eventType":"peerconnection-status-changed","peerconnection":{"devices":[{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"new","url":"http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connecting","url":"http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47"}],"status":"connecting","type":"webrtc","url":"http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a"}}},"level":"info","message":"received a callback","requestID":"91269faf9a2aa25eaec758f251c24aa7"} gateway-1 | {"time_local":"02/Apr/2025:19:01: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.032","http_referrer":"","http_user_agent":"node-fetch","requestID":"91269faf9a2aa25eaec758f251c24aa7"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 5ms","method":"POST","requestID":"91269faf9a2aa25eaec758f251c24aa7","responseTime":5,"status":200,"url":"/callbacks/experiment"} device-1 | {"device":"25cbe32d-5978-43c0-a586-5cef91f34e47","deviceName":"JS Device 1","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"315e0f31-b802-4d4e-894f-7e4862eb0b5b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"WebRTCPeerConnection connectionStateChanged","state":"connected"} device-1 | {"device":"315e0f31-b802-4d4e-894f-7e4862eb0b5b","deviceName":"JS Device 2","isTrusted":true,"labels":{"job":"remote_device"},"level":"info"} device-1 | {"data":{"peerconnection":"b92673a3-627f-43b4-b58f-7c723c4b087a","statusDeviceA":"connecting","statusDeviceB":"connecting"},"level":"info","message":"peerconnection devices status info"} device-1 | {"data":{"peerconnection":"b92673a3-627f-43b4-b58f-7c723c4b087a","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/b92673a3-627f-43b4-b58f-7c723c4b087a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b92673a3-627f-43b4-b58f-7c723c4b087a","statusDeviceA":"connected","statusDeviceB":"connected"},"level":"info","message":"peerconnection devices status info"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"9a9c6f743296175f075bb30bc6ef7dcb","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"9a9c6f743296175f075bb30bc6ef7dcb","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/315e0f31-b802-4d4e-894f-7e4862eb0b5b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"connected","url":"http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47"}],"status":"connected","type":"webrtc","url":"http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a"}}},"level":"info","message":"received a callback","requestID":"9a9c6f743296175f075bb30bc6ef7dcb"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId called","requestID":"d662c740-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb92673a3-627f-43b4-b58f-7c723c4b087a","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"93bd6a4a-4706-49f4-8fc3-47b227b2fe18","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.1766055} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":849,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":331,"resp_duration":26.887004,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d662c740-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"peerconnection:http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a","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":"d662c740-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"getPeerconnectionsByPeerconnectionId succeeded","requestID":"d662c740-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"GET /peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a 200 33ms","method":"GET","requestID":"d662c740-0ff4-11f0-acd3-db29ca75a471","responseTime":33,"status":200,"url":"/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2OX0.Jp70rL1kkeHMA5Xtt16DEMYDVQ_9ml8w4C5IFYikAXc","level":"info","message":"auth send jwt","requestID":"680d0d6f22acdd2019f782da7ea46480"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"680d0d6f22acdd2019f782da7ea46480","responseTime":3,"status":200,"url":"/auth"} experiment-1 | {"level":"info","message":"Handling GET request on endpoint /experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b","requestID":"680d0d6f22acdd2019f782da7ea46480"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":850,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.924911,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"action":"view","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"680d0d6f22acdd2019f782da7ea46480","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620469,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2OX0.Jp70rL1kkeHMA5Xtt16DEMYDVQ_9ml8w4C5IFYikAXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"680d0d6f22acdd2019f782da7ea46480","responseTime":3,"status":200,"url":"/authorize"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 83ms","method":"POST","requestID":"9a9c6f743296175f075bb30bc6ef7dcb","responseTime":83,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:01: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.086","http_referrer":"","http_user_agent":"node-fetch","requestID":"9a9c6f743296175f075bb30bc6ef7dcb"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d66ed530-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} experiment-1 | {"level":"info","message":"Successfully handled GET request on endpoint /experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b","requestID":"680d0d6f22acdd2019f782da7ea46480"} gateway-1 | {"time_local":"02/Apr/2025:19:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b HTTP/1.1","status": "200","body_bytes_sent":"1180","request_time":"0.053","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"680d0d6f22acdd2019f782da7ea46480"} experiment-1 | {"level":"info","message":"GET /experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b 200 47ms","method":"GET","requestID":"680d0d6f22acdd2019f782da7ea46480","responseTime":47,"status":200,"url":"/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"4c635afb-5b47-4b49-b465-353a9df7191a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.2557616} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":851,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.751067,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d66ed530-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 6ms","method":"POST","requestID":"d66ed530-0ff4-11f0-acd3-db29ca75a471","responseTime":6,"status":200,"url":"/authorize"} authentication-1 | {"jwt":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2OX0.Jp70rL1kkeHMA5Xtt16DEMYDVQ_9ml8w4C5IFYikAXc","level":"info","message":"auth send jwt","requestID":"f24a6dbb2761ae909564c736ee223b24"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d66ed530-0ff4-11f0-acd3-db29ca75a471"} experiment-1 | {"level":"info","message":"Handling DELETE request on endpoint /experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b","requestID":"f24a6dbb2761ae909564c736ee223b24"} device-1 | {"level":"info","message":"POST /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/signaling 200 9ms","method":"POST","requestID":"d66ed530-0ff4-11f0-acd3-db29ca75a471","responseTime":9,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/signaling"} authentication-1 | {"level":"info","message":"GET /auth 200 3ms","method":"GET","requestID":"f24a6dbb2761ae909564c736ee223b24","responseTime":3,"status":200,"url":"/auth"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d670a9f0-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":852,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":662,"resp_duration":0.880724,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"experiment:http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"f24a6dbb2761ae909564c736ee223b24","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"experiment:http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b","object_type":"experiment","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620469,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2OX0.Jp70rL1kkeHMA5Xtt16DEMYDVQ_9ml8w4C5IFYikAXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 4ms","method":"POST","requestID":"f24a6dbb2761ae909564c736ee223b24","responseTime":4,"status":200,"url":"/authorize"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"b34ae977-3c93-496e-a934-4b09651ec099","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.268476} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":853,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":3.058028,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d670a9f0-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","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/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Attempting to finish experiment","requestID":"f24a6dbb2761ae909564c736ee223b24"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d670a9f0-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId called","requestID":"d6720980-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":854,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":674,"resp_duration":0.619826,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d670a9f0-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling 200 11ms","method":"POST","requestID":"d670a9f0-0ff4-11f0-acd3-db29ca75a471","responseTime":11,"status":200,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"peerconnection:http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d6720980-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"peerconnection:http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a","object_type":"peerconnection","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620469,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2OX0.Jp70rL1kkeHMA5Xtt16DEMYDVQ_9ml8w4C5IFYikAXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d6720980-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a","device":"315e0f31-b802-4d4e-894f-7e4862eb0b5b","deviceName":"JS Device 2","labels":{"job":"remote_device"},"level":"info","message":"closing connection","messageType":"command"} device-1 | {"command":"closePeerconnection","connectionUrl":"http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a","device":"25cbe32d-5978-43c0-a586-5cef91f34e47","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/b92673a3-627f-43b4-b58f-7c723c4b087a' to 'http://localhost/callbacks/experiment'"} device-1 | {"level":"info","message":"Sending closed-callback for peerconnection 'http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"peerconnection":"b92673a3-627f-43b4-b58f-7c723c4b087a","statusDeviceA":"connected","statusDeviceB":"closed"},"level":"info","message":"peerconnection devices status info"} 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/315e0f31-b802-4d4e-894f-7e4862eb0b5b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a"}}},"level":"info","message":"received a callback","requestID":"ed43b109e5a864a027bf7b04b8eedec2"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb92673a3-627f-43b4-b58f-7c723c4b087a': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"peerconnection:http%3A%2F%2Flocalhost%2Fpeerconnections%2Fb92673a3-627f-43b4-b58f-7c723c4b087a","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"aadaa018-2b43-49cf-ad35-6e1f4ff1d42d","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.3097212} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"ed43b109e5a864a027bf7b04b8eedec2","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.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:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"0fc69e99-6e1d-44f7-bb19-75a0b066e8cc","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.309984} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"ed43b109e5a864a027bf7b04b8eedec2","responseTime":1,"status":200,"url":"/auth"} authorization-1 | {"level":"info","message":"POST /relations/update 200 7ms","method":"POST","requestID":"d6720980-0ff4-11f0-acd3-db29ca75a471","responseTime":7,"status":200,"url":"/relations/update"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"7d27a283da9cd60a1f1957254344acba","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"7d27a283da9cd60a1f1957254344acba","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":"connected","url":"http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b"},{"config":{"services":[{"interfaces":[],"remoteServiceId":"electrical","serviceId":"electrical","serviceType":"http://api.goldi-labs.de/serviceTypes/electrical"}]},"status":"closed","url":"http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47"}],"status":"closed","type":"webrtc","url":"http://localhost/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a"}}},"level":"info","message":"received a callback","requestID":"7d27a283da9cd60a1f1957254344acba"} device-1 | {"level":"info","message":"deletePeerconnectionsByPeerconnectionId succeeded","requestID":"d6720980-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a 204 75ms","method":"DELETE","requestID":"d6720980-0ff4-11f0-acd3-db29ca75a471","responseTime":75,"status":204,"url":"/peerconnections/b92673a3-627f-43b4-b58f-7c723c4b087a"} device-1 | {"data":{"error":{"name":"MissingEntityError","status":404}},"level":"error","message":"An error occurred while handling an incoming message for device 'http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b'"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId called","requestID":"d67dc950-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":855,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":650,"resp_duration":0.658269,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"action":"delete","level":"info","message":"opa_check","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d67dc950-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","object_type":"device","payload":{"admin":true,"edgeToken":"4kpuMlUdnYz5TQcWJ3s-rSIcrsGkHEKq07GKQzxOa4s7K-IKAf92uRFgVv_T9z6qZzBFhNU7e2D38a9xJdBWWg","iat":1743620469,"sub":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"},"rebac_allow":true,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0","subject_alt":"http://localhost/users/699582e5-7b1b-4f95-929a-af0d138717a0"}},"subject":"eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJodHRwOi8vbG9jYWxob3N0L3VzZXJzLzY5OTU4MmU1LTdiMWItNGY5NS05MjlhLWFmMGQxMzg3MTdhMCIsImVkZ2VUb2tlbiI6IjRrcHVNbFVkbll6NVRRY1dKM3MtclNJY3JzR2tIRUtxMDdHS1F6eE9hNHM3Sy1JS0FmOTJ1UkZnVnZfVDl6NnFaekJGaE5VN2UyRDM4YTl4SmRCV1dnIiwiYWRtaW4iOnRydWUsImlhdCI6MTc0MzYyMDQ2OX0.Jp70rL1kkeHMA5Xtt16DEMYDVQ_9ml8w4C5IFYikAXc"} authorization-1 | {"level":"info","message":"POST /authorize 200 3ms","method":"POST","requestID":"d67dc950-0ff4-11f0-acd3-db29ca75a471","responseTime":3,"status":200,"url":"/authorize"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"1e9e5f66-8f58-44ba-a0b4-0ce50dc2078a","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.3588603} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"c70300dd-93fe-457c-9a83-deca2c762552","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.3592274} authorization-1 | {"level":"info","message":"POST /relations/update 200 5ms","method":"POST","requestID":"d67dc950-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/relations/update"} device-1 | {"level":"info","message":"deleteDevicesByDeviceId succeeded","requestID":"d67dc950-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"DELETE /devices/25cbe32d-5978-43c0-a586-5cef91f34e47 204 45ms","method":"DELETE","requestID":"d67dc950-0ff4-11f0-acd3-db29ca75a471","responseTime":45,"status":204,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47"} experiment-1 | {"data":{"experimentUrl":"http://localhost/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"},"level":"info","message":"Successfully finished experiment","requestID":"f24a6dbb2761ae909564c736ee223b24"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d687db70-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F315e0f31-b802-4d4e-894f-7e4862eb0b5b","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"2795d274-b714-44e8-922a-95c771756fbf","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.4435418} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":856,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.419263,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d687db70-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b","object_type":"device","rebac_allow":false,"scope_allow":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":"d687db70-0ff4-11f0-acd3-db29ca75a471","responseTime":29,"status":200,"url":"/authorize"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling succeeded","requestID":"d687db70-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/signaling 200 32ms","method":"POST","requestID":"d687db70-0ff4-11f0-acd3-db29ca75a471","responseTime":32,"status":200,"url":"/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b/signaling"} device-1 | {"level":"info","message":"postDevicesByDeviceIdSignaling called","requestID":"d68d0b90-0ff4-11f0-acd3-db29ca75a471"} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Received request.","req_id":857,"req_method":"POST","req_path":"/v1/data/crosslab","subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"Check","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","contextual_tuples":null,"store_id":"01JQVXVZ1B74QK333KNV96CZBP","trace":false,"tuple_key":{"object":"device:http%3A%2F%2Flocalhost%2Fdevices%2F25cbe32d-5978-43c0-a586-5cef91f34e47","relation":"viewer","user":"user:experiment-service"}},"raw_response":{"allowed":false,"resolution":""},"request_id":"f4a5d49c-ada4-4353-9454-95be0f588b91","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.4535825} authorization-1 | {"client_addr":"127.0.0.1:54284","level":"info","msg":"Sent response.","req_id":857,"req_method":"POST","req_path":"/v1/data/crosslab","resp_bytes":307,"resp_duration":2.334887,"resp_status":200,"subsystem":"opa","time":"2025-04-02T19:01:09Z"} authorization-1 | {"action":"message","level":"info","message":"opa_check","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","openfga":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store":"01JQVXVZ1B74QK333KNV96CZBP"},"requestID":"d68d0b90-0ff4-11f0-acd3-db29ca75a471","response":{"result":{"allow":true,"enc":"user:experiment-service","object":"device:http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47","object_type":"device","rebac_allow":false,"scope_allow":true,"scopes":["read","write","connect"],"subject":"user:experiment-service","subject_alt":"experiment-service"}},"subject":"experiment-service"} authorization-1 | {"level":"info","message":"POST /authorize 200 5ms","method":"POST","requestID":"d68d0b90-0ff4-11f0-acd3-db29ca75a471","responseTime":5,"status":200,"url":"/authorize"} device-1 | {"data":{"error":"MissingEntityError","message":"The requested Device Overview does not exist in the database","method":"POST","stack":"MissingEntityError: The requested Device Overview does not exist in the database\n at DeviceOverviewRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-common/lib/esm/database/abstractRepository.js:63:19)\n at async DeviceRepository.findOneOrFail (file:///usr/local/lib/node_modules/@crosslab/service-device/app/database/repositories/device.js:155:32)\n at async Object.postDevicesByDeviceIdSignaling (file:///usr/local/lib/node_modules/@crosslab/service-device/app/operations/devices/device/signaling/post.js:22:25)\n at async file:///usr/local/lib/node_modules/@crosslab/service-device/app/generated/routes.js:276:28","status":404,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling"},"level":"error","message":"An error occurred during the handling of a request","requestID":"d68d0b90-0ff4-11f0-acd3-db29ca75a471"} device-1 | {"level":"info","message":"POST /devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling 404 8ms","method":"POST","requestID":"d68d0b90-0ff4-11f0-acd3-db29ca75a471","responseTime":8,"status":404,"url":"/devices/25cbe32d-5978-43c0-a586-5cef91f34e47/signaling"} authorization-1 | {"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","error":"rpc error: code = Code(2017) desc = cannot delete a tuple which does not exist: user: 'http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0', relation: 'owner', object: 'experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc65e5883-3b29-4b6d-a0a0-443a5bd57d3b': invalid write input","grpc_code":2017,"grpc_method":"Write","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"authorization_model_id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","deletes":{"tuple_keys":[{"object":"experiment:http%3A%2F%2Flocalhost%2Fexperiments%2Fc65e5883-3b29-4b6d-a0a0-443a5bd57d3b","relation":"owner","user":"http%3A%2F%2Flocalhost%2Fusers%2F699582e5-7b1b-4f95-929a-af0d138717a0"}]},"store_id":"01JQVXVZ1B74QK333KNV96CZBP","writes":null},"raw_response":{},"request_id":"bdf2600b-d0d1-40c5-8f10-26873065ccee","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.457802} 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":"f24a6dbb2761ae909564c736ee223b24"} authorization-1 | {"build.commit":"bc6a45ade4ae02d389b2588ae3bb4676fdcf77ec","build.version":"v1.2.0","grpc_code":0,"grpc_method":"ReadAuthorizationModel","grpc_service":"openfga.v1.OpenFGAService","grpc_type":"unary","level":"info","message":"grpc_req_complete","peer.address":"127.0.0.1:43938","raw_request":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","store_id":"01JQVXVZ1B74QK333KNV96CZBP"},"raw_response":{"authorization_model":{"id":"01JQVXVZ47K3Z8S0Y28Z1Z0MXT","schema_version":"1.1","type_definitions":[{"metadata":{"relations":{"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"viewer":{"this":{}}},"type":"user"},{"metadata":{"relations":{"active_booking":{"directly_related_user_types":[{"type":"booking"}]},"booker":{"directly_related_user_types":[]},"owner":{"directly_related_user_types":[{"type":"user"}]},"parent":{"directly_related_user_types":[{"type":"device"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"active_booking":{"this":{}},"booker":{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"active_booking"}}},"owner":{"this":{}},"parent":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"viewer"},"tupleset":{"object":"","relation":"parent"}}}]}}},"type":"device"},{"metadata":{"relations":{"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"member":{"this":{}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"experiment"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"peerconnection"},{"metadata":{"relations":{"experiment":{"directly_related_user_types":[{"type":"experiment"}]},"member":{"directly_related_user_types":[{"type":"user"}]},"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"experiment":{"this":{}},"member":{"union":{"child":[{"this":{}},{"tupleToUserset":{"computedUserset":{"object":"","relation":"member"},"tupleset":{"object":"","relation":"experiment"}}}]}},"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"booking"},{"metadata":{"relations":{"owner":{"directly_related_user_types":[{"type":"user"}]},"viewer":{"directly_related_user_types":[{"type":"user"}]}}},"relations":{"owner":{"this":{}},"viewer":{"union":{"child":[{"this":{}},{"computedUserset":{"object":"","relation":"owner"}}]}}},"type":"federation"}]}},"request_id":"e748b5b0-a0a0-4f19-a3cd-9424b9b09342","store_id":"01JQVXVZ1B74QK333KNV96CZBP","subsystem":"openfga","timestamp":1743620469.458125} authorization-1 | {"level":"info","message":"POST /relations/update 200 45ms","method":"POST","requestID":"f24a6dbb2761ae909564c736ee223b24","responseTime":45,"status":200,"url":"/relations/update"} experiment-1 | {"level":"info","message":"Successfully handled DELETE request on endpoint /experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b","requestID":"f24a6dbb2761ae909564c736ee223b24"} gateway-1 | {"time_local":"02/Apr/2025:19:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"DELETE /experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b HTTP/1.1","status": "204","body_bytes_sent":"0","request_time":"0.382","http_referrer":"","http_user_agent":"node-fetch/1.0 (+https://github.com/bitinn/node-fetch)","requestID":"f24a6dbb2761ae909564c736ee223b24"} experiment-1 | {"level":"info","message":"DELETE /experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b 204 379ms","method":"DELETE","requestID":"f24a6dbb2761ae909564c736ee223b24","responseTime":379,"status":204,"url":"/experiments/c65e5883-3b29-4b6d-a0a0-443a5bd57d3b"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 332ms","method":"POST","requestID":"ed43b109e5a864a027bf7b04b8eedec2","responseTime":332,"status":200,"url":"/callbacks/experiment"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 200 331ms","method":"POST","requestID":"7d27a283da9cd60a1f1957254344acba","responseTime":331,"status":200,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2338","request_time":"6.812","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"3c950f7498cc978cbcb815ee4c23c323"} gateway-1 | {"time_local":"02/Apr/2025:19:01: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.338","http_referrer":"","http_user_agent":"node-fetch","requestID":"ed43b109e5a864a027bf7b04b8eedec2"} gateway-1 | {"time_local":"02/Apr/2025:19:01: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.337","http_referrer":"","http_user_agent":"node-fetch","requestID":"7d27a283da9cd60a1f1957254344acba"} gateway-1 | {"time_local":"02/Apr/2025:19:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"GET /devices/websocket HTTP/1.1","status": "101","body_bytes_sent":"2098","request_time":"2.743","http_referrer":"","http_user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/109.0.5414.0 Safari/537.36","requestID":"f78cfd164ea28b3828a5415bdd12985b"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/315e0f31-b802-4d4e-894f-7e4862eb0b5b' closed"} device-1 | {"level":"info","message":"Sending changed-callback for device 'http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47' to 'http://localhost/callbacks/experiment'"} device-1 | {"data":{"code":1001,"reason":{"data":[],"type":"Buffer"}},"level":"info","message":"websocket connection for device 'http://localhost/devices/25cbe32d-5978-43c0-a586-5cef91f34e47' closed"} authentication-1 | {"level":"info","message":"auth error No token found","requestID":"2cbf15d13342ed13ab8fa14481be09af","stack":"Error: No token found\n at Object.getAuth (file:///usr/local/lib/node_modules/@crosslab/service-auth/app/operations/auth.js:14:19)\n at file:///usr/local/lib/node_modules/@crosslab/service-auth/app/generated/routes.js:22:45\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:149:13)\n at Route.dispatch (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/route.js:119:3)\n at Layer.handle [as handle_request] (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/layer.js:95:5)\n at /usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:284:15\n at Function.process_params (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:346:12)\n at next (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:280:10)\n at Function.handle (/usr/local/lib/node_modules/@crosslab/service-auth/node_modules/express/lib/router/index.js:175:3)"} authentication-1 | {"level":"info","message":"GET /auth 200 1ms","method":"GET","requestID":"2cbf15d13342ed13ab8fa14481be09af","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/25cbe32d-5978-43c0-a586-5cef91f34e47"},"eventType":"device-changed"}},"level":"info","message":"received a callback","requestID":"2cbf15d13342ed13ab8fa14481be09af"} experiment-1 | {"level":"info","message":"POST /callbacks/experiment 410 3ms","method":"POST","requestID":"2cbf15d13342ed13ab8fa14481be09af","responseTime":3,"status":410,"url":"/callbacks/experiment"} gateway-1 | {"time_local":"02/Apr/2025:19:01:09 +0000","remote_addr":"127.0.0.1","remote_user":"","request":"POST /callbacks/experiment HTTP/1.1","status": "410","body_bytes_sent":"5","request_time":"0.005","http_referrer":"","http_user_agent":"node-fetch","requestID":"2cbf15d13342ed13ab8fa14481be09af"} authentication-1 exited with code 143 experiment-1 exited with code 143 federation-1 exited with code 143 authorization-1 exited with code 0 gateway-1 exited with code 0 device-1 exited with code 143